您好,登錄后才能下訂單哦!
這篇文章主要介紹“SpringBoot如何實現全局和局部跨域”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“SpringBoot如何實現全局和局部跨域”文章能幫助大家解決問題。
所謂的跨域請求就是指:當前發起請求的域與該請求指向的資源所在的域不一樣。這里的域指的是這樣的一個概念:我們認為若協議 + 域名 + 端口號均相同,那么就是同域。
后端解決跨域,主要借助cors
可以使用注解:@CrossOrigin
該注解開啟之后,就可以解決跨域問題,它可以加在controller中,表面這個controller中的全部方法都經過跨域處理,也可以單獨加在某個方法上,表示只有這一個方法經過跨域處理
但是它的默認值為*,也就是默認全部放行,理論來說不太安全
如果項目里面又多個controller或者多個方法,使用注解就會顯得非常雞肋,如果一個一個加太麻煩了,這時候就可以使用全局注解了
原理:創建一個配置類,開啟跨域注冊,并使用@Configuration注解把這個類當作一個配置注入到項目中
我們可以自由配置請求方式,以及域名權限,請求時間,更加細度的去控制跨域范圍
package com.wyh.config; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.CorsRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; /** * @Description: 解決全局跨域 * @Author: 魏一鶴 * @Date: 2022-11-30 22:44 **/ @Configuration public class CorsMapping implements WebMvcConfigurer { @Override /** * 重新跨域支持方法 * CorsRegistry 開啟跨域注冊 */ public void addCorsMappings(CorsRegistry registry) { //addMapping 添加可跨域的請求地址 registry.addMapping("/**") //設置跨域 域名權限 規定由某一個指定的域名+端口能訪問跨域項目 .allowedOrigins("*") //是否開啟cookie跨域 .allowCredentials(false) //規定能夠跨域訪問的方法類型 .allowedMethods("GET","POST","DELETE","PUT","OPTIONS") //添加驗證頭信息 token //.allowedHeaders() //預檢請求存活時間 在此期間不再次發送預檢請求 .maxAge(3600); } }
注意:千萬不要忘了@Configuration注解,不然配置是無效的!!!
關于“SpringBoot如何實現全局和局部跨域”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。