關(guān)于Gateway網(wǎng)關(guān)中配置跨域的三種方案
Gateway網(wǎng)關(guān)中配置跨域的三種方案
方法一
直接在每個(gè)Controller類上添加跨域注解
@CrossOrigin
方法二
通過(guò)配置類統(tǒng)一處理
@Configuration public class CorsConfig { // 該配置適用于reactive響應(yīng)式環(huán)境 @Bean public CorsWebFilter corsFilter() { CorsConfiguration config = new CorsConfiguration(); config.addAllowedOrigin("*"); config.addAllowedHeader("*"); // springboot升級(jí)成2.4.0以上時(shí)對(duì)AllowedOrigin設(shè)置發(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(); //放行哪些請(qǐng)求方式 config.addAllowedMethod("*"); //放行哪些原始請(qǐng)求頭部信息 config.addAllowedHeader("*"); //放行哪些原始域 config.addAllowedOriginPattern("*"); //是否發(fā)送 Cookie config.setAllowCredentials(true); //2. 添加映射路徑 UrlBasedCorsConfigurationSource corsConfigurationSource = new UrlBasedCorsConfigurationSource(); corsConfigurationSource.registerCorsConfiguration("/**",config); //3. 返回新的CorsFilter return new CorsFilter(corsConfigurationSource); }
重寫(xiě)WebMvcConfigurer接口的默認(rèn)方法
@Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**") .allowedMethods("*") .allowedHeaders("*") .allowedOriginPatterns("*") .allowCredentials(true); } }
方法三
在配置application.properties或者application.yml文件中進(jìn)行統(tǒng)一配置
spring: cloud: gateway: globalcors: cors-configurations: '[/**]': allowedMethods: "*" allowedHeaders: "*" allowedOriginPatterns: "*" allowCredentials: true
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
SpringCloud添加客戶端Eureka Client過(guò)程解析
這篇文章主要介紹了SpringCloud添加客戶端Eureka Client過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-03-03解決SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問(wèn)題的幾種方法
本篇文章主要介紹了解決SpringMvc后臺(tái)接收json數(shù)據(jù)中文亂碼問(wèn)題的幾種方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-01-01java.nio.file.WatchService?實(shí)時(shí)監(jiān)控文件變化的示例代碼
在?Java?語(yǔ)言中,從?JDK7?開(kāi)始,新增了java.nio.file.WatchService類,用來(lái)實(shí)時(shí)監(jiān)控文件的變化,這篇文章主要介紹了java.nio.file.WatchService?實(shí)時(shí)監(jiān)控文件變化,需要的朋友可以參考下2022-05-05idea項(xiàng)目中target文件提示拒絕訪問(wèn)的解決
這篇文章主要介紹了idea項(xiàng)目中target文件提示拒絕訪問(wèn)的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-11-11SpringBoot利用MDC機(jī)制過(guò)濾單次請(qǐng)求的所有日志
在服務(wù)出現(xiàn)故障時(shí),我們經(jīng)常需要獲取一次請(qǐng)求流程里的所有日志進(jìn)行定位 ,如何將一次數(shù)據(jù)上報(bào)請(qǐng)求中包含的所有業(yè)務(wù)日志快速過(guò)濾出來(lái),就是本文要介紹的,需要的朋友可以參考下2024-04-04java實(shí)現(xiàn)兩個(gè)線程交替打印的實(shí)例代碼
在本篇文章里小編給大家整理的是一篇關(guān)于java實(shí)現(xiàn)兩個(gè)線程交替打印的相關(guān)知識(shí)點(diǎn)內(nèi)容,有需要的朋友們參考下。2019-12-12Java中關(guān)于MouseWheelListener的鼠標(biāo)滾輪事件詳解
這篇文章主要介紹了Java中關(guān)于MouseWheelListener的鼠標(biāo)滾輪事件詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12