關于Gateway網關中配置跨域的三種方案
更新時間:2024年11月16日 09:52:48 作者:龍茶清歡
文章總結:介紹了三種處理跨域請求的方法:在Controller類上添加注解、通過配置類實現重寫WebMvcConfigurer接口和在配置文件中統一設置,希望這些方法能幫助讀者解決跨域問題
Gateway網關中配置跨域的三種方案
方法一
直接在每個Controller類上添加跨域注解
@CrossOrigin
方法二
通過配置類統一處理
@Configuration public class CorsConfig { // 該配置適用于reactive響應式環(huán)境 @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); // springboot升級成2.4.0以上時對AllowedOrigin設置發(fā)生了改變,不能有”*“,可以替換成AllowedOriginPattern config.addAllowedOriginPattern("*"); config.setAllowCredentials(true); // 必須是reactive包下的UrlBasedCorsConfigurationSource UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); source.registerCorsConfiguration("/**", config); return new CorsWebFilter(source); // 該配置適用于servlet環(huán)境 @Bean public CorsFilter corsFilter() { //1. 添加 CORS配置信息 CorsConfiguration config = new CorsConfiguration(); //放行哪些請求方式 config.addAllowedMethod("*"); //放行哪些原始請求頭部信息 config.addAllowedHeader("*"); //放行哪些原始域 config.addAllowedOriginPattern("*"); //是否發(fā)送 Cookie config.setAllowCredentials(true); //2. 添加映射路徑 UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); corsConfigurationSource.registerCorsConfiguration("/**",config); //3. 返回新的CorsFilter return new CorsFilter(corsConfigurationSource); }
重寫WebMvcConfigurer接口的默認方法
@Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedMethods("*") .allowedHeaders("*") .allowedOriginPatterns("*") .allowCredentials(true); } }
方法三
在配置application.properties或者application.yml文件中進行統一配置
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': allowedMethods: "*" allowedHeaders: "*" allowedOriginPatterns: "*" allowCredentials: true
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
SpringCloud添加客戶端Eureka Client過程解析
這篇文章主要介紹了SpringCloud添加客戶端Eureka Client過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-03-03解決SpringMvc后臺接收json數據中文亂碼問題的幾種方法
本篇文章主要介紹了解決SpringMvc后臺接收json數據中文亂碼問題的幾種方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下2018-01-01java.nio.file.WatchService?實時監(jiān)控文件變化的示例代碼
在?Java?語言中,從?JDK7?開始,新增了java.nio.file.WatchService類,用來實時監(jiān)控文件的變化,這篇文章主要介紹了java.nio.file.WatchService?實時監(jiān)控文件變化,需要的朋友可以參考下2022-05-05Java中關于MouseWheelListener的鼠標滾輪事件詳解
這篇文章主要介紹了Java中關于MouseWheelListener的鼠標滾輪事件詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-12-12