最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot處理配置CORS跨域請求時碰到的坑

 更新時間:2021年09月24日 15:44:27   作者:沒頭腦遇到不高興  
本篇文章介紹了我在開發(fā)過程中遇到的一個問題,以及解決該問題的過程及思路,通讀本篇對大家的學習或工作具有一定的價值,需要的朋友可以參考下

最近開發(fā)過程中遇到了一個問題,之前沒有太注意,這里記錄一下。我用的SpringBoot版本是2.0.5,在跟前端聯(lián)調(diào)的時候,有個請求因為用戶權限不夠就被攔截器攔截了,攔截器攔截之后打印日志然后response了一個錯誤返回了,但是前端Vue.js一直報如下跨域的錯誤,但是我是配置了跨域的。

has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.

我的攔截器中代碼如下:

private void writeResponse(HttpServletResponse response,
		ResponseResult<?> respResult, JSONObject reqParams) {
	PrintWriter writer = null;
	try {
		response.setCharacterEncoding("UTF-8");
		response.setContentType("application/json; charset=utf-8");
		writer = response.getWriter();
		writer.write(JSON.toJSONString(respResult));
		writer.flush();
	} catch (Exception e) {
		log.error("攔截器響應異常,respJson:"+reqParams, e);
	} finally{
		if(writer != null){
			writer.close();
		}
	}
}

我的攔截器是通過實現(xiàn)WebMvcConfigurer接口,然后重新其addCorsMappings(CorsRegistry registry)方法添加跨域設置的,具體如下所示:

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
 
    @Bean
    public UserCenterInterceptor userTokenInterceptor() {
        return new UserCenterInterceptor();
    }
   
    @Override
    public void addCorsMappings(CorsRegistry registry) {
    	registry.addMapping("/**")
        .allowedMethods("GET","POST","OPTIONS")
        .allowedOrigins("你要設置的域名")
        .allowedHeaders("*")
        .allowCredentials(true);
    	WebMvcConfigurer.super.addCorsMappings(registry);
    }
}

原因是請求經(jīng)過的先后順序問題,請求會先進入到自定義攔截器中,而不是進入Mapping映射中,所以返回的頭信息中并沒有配置的跨域信息,瀏覽器就會報跨域異常。

正確的設置跨域的方式是通過CorsFilter過濾器,具體代碼如下:

@Configuration
public class CorsConfig {
 
    private CorsConfiguration buildConfig() {
        CorsConfiguration corsConfiguration = new CorsConfiguration();
        corsConfiguration.addAllowedOrigin("*");
        corsConfiguration.addAllowedHeader("*");
        corsConfiguration.addAllowedMethod("*");
        corsConfiguration.setAllowCredentials(true);
        return corsConfiguration;
    }
 
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**", buildConfig());
        return new CorsFilter(source);
    }
}

完美解決了坑,很開森,哈哈哈?。?!繼續(xù)行走在踩坑的路上。。。。。。

到此這篇關于Springboot處理配置CORS跨域請求時碰到的坑的文章就介紹到這了,更多相關Springboot CORS跨域請求內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java?Comparable和Comparator的區(qū)別及作用面試精講

    java?Comparable和Comparator的區(qū)別及作用面試精講

    這篇文章主要為大家介紹了java?Comparable和Comparator的區(qū)別及作用面試精講,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-10-10
  • java中調(diào)用super的實例講解

    java中調(diào)用super的實例講解

    在本篇文章里小編給大家分享了一篇關于java中調(diào)用super的實例講解內(nèi)容,有興趣的朋友們可以學習下。
    2020-12-12
  • SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解

    這篇文章主要介紹了SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解,通過示例代碼介紹了實現(xiàn)一個自定義的?@Conditional?派生注解,Conditional?派生注解的類如何注入到?spring?容器,需要的朋友可以參考下
    2022-08-08
  • IDEA實用好用插件推薦及使用方法教程詳解(必看)

    IDEA實用好用插件推薦及使用方法教程詳解(必看)

    這篇文章主要介紹了IDEA實用好用插件推薦及使用方法教程,本文通過實例截圖相結合給大家介紹的非常詳細,對大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • 一文秒懂logstash收集springboot日志的方法

    一文秒懂logstash收集springboot日志的方法

    通過這篇文章帶你了解logstash收集springboot日志的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2021-04-04
  • 一篇文章帶你學習Mybatis-Plus(新手入門)

    一篇文章帶你學習Mybatis-Plus(新手入門)

    這篇文章主要介紹了MyBatis-Plus 快速入門案例(小白教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-08-08
  • 詳解Spring注解--@Autowired、@Resource和@Service

    詳解Spring注解--@Autowired、@Resource和@Service

    本篇文章主要介紹最重要的三個Spring注解,也就是@Autowired、@Resource和@Service,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • Spring?Boot2?整合連接?Redis的操作方法

    Spring?Boot2?整合連接?Redis的操作方法

    在Spring?Boot中,通過RedisTemplate可以方便地對Redis進行操作,包括設置和獲取數(shù)據(jù),文章詳細介紹了如何配置RedisTemplate,創(chuàng)建RedisConfig類進行自定義配置,并通過Controller訪問Redis數(shù)據(jù)庫,感興趣的朋友一起看看吧
    2025-02-02
  • java使用定時器實現(xiàn)監(jiān)聽數(shù)據(jù)變化

    java使用定時器實現(xiàn)監(jiān)聽數(shù)據(jù)變化

    這篇文章主要為大家詳細介紹了Java如何使用定時器監(jiān)聽數(shù)據(jù)變化,當滿足某個條件時(例如沒有數(shù)據(jù)更新)自動執(zhí)行某項任務,有興趣的可以了解下
    2023-11-11
  • Java比較兩個對象是否相等的方法

    Java比較兩個對象是否相等的方法

    這篇文章主要介紹了Java比較兩個對象是否相等的方法,文中給出了三種方法,并通過代碼講解的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2024-03-03

最新評論

望都县| 永清县| 贵阳市| 荔波县| 普洱| 泰州市| 和政县| 庆元县| 二手房| 孝昌县| 民和| 隆回县| 宣恩县| 南昌县| 湘潭县| 攀枝花市| 五寨县| 瑞丽市| 文昌市| 镇巴县| 鞍山市| 旺苍县| 扬中市| 边坝县| 五寨县| 保定市| 宜昌市| 通许县| 彝良县| 浮山县| 陵水| 新沂市| 石嘴山市| 闽侯县| 开阳县| 安远县| 平和县| 柯坪县| 漠河县| 化德县| 界首市|