spring boot后端解決跨域問題的幾種方法

跨域的產(chǎn)生
出于瀏覽器的同源策略限制。同源策略(Sameoriginpolicy)是一種約定,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,則瀏覽器的正常功能可能都會受到影響。可以說Web是構(gòu)建在同源策略基礎(chǔ)之上的,瀏覽器只是針對同源策略的一種實(shí)現(xiàn)。同源策略會阻止一個域的javascript腳本和另外一個域的內(nèi)容進(jìn)行交互。所謂同源(即指在同一個域)就是兩個頁面具有相同的協(xié)議(protocol),主機(jī)(host)和端口號(port)
當(dāng)一個請求url的協(xié)議、域名、端口三者之間任意一個與當(dāng)前頁面url不同即為跨域。
解決跨域的方式有很多比如Nginx代理 ,vue配置代理接口,或者在后端框架中進(jìn)行一些配置。
----------------------------------------------------------------------------------------------------------------
解決方案
1.使用注解?
在controller 類上加上@CrossOrigin注解,就能對該類下的接口進(jìn)行跨域訪問,從而解決跨域問題,但是這中方法在接口比較多的情況下是比較繁瑣的,所以不推薦!

2.重寫addCorsMappings
方法(使用較多)

3.第三種:添加CORS過濾器
新建配置類CorsConfig,創(chuàng)建CorsFilter
過濾器,允許跨域
標(biāo)簽: