欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

最近開發(fā)過程中遇到了一個問題,之前沒有太注意,這里記錄一下。我用的SpringBoot版本是2.0.5,在跟前端聯(lián)調(diào)的時候,有個請求因為用戶權(quán)限不夠就被攔截器攔截了,攔截器攔截之后打印日志然后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 中序列化與反序列化

    一篇文章帶你了解Java 中序列化與反序列化

    這篇文章主要介紹了Java 序列化與反序列化(Serialization),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-07-07
  • 深入淺析MyBatis foreach標簽

    深入淺析MyBatis foreach標簽

    Mybatis foreach 標簽用于循環(huán)語句,它很好的支持了數(shù)據(jù)和 List、set 接口的集合,并對此提供遍歷的功能,本文給大家介紹MyBatis foreach標簽的相關知識,感興趣的朋友一起看看吧
    2021-09-09
  • SpringBoot整合mybatisplus和druid的示例詳解

    SpringBoot整合mybatisplus和druid的示例詳解

    這篇文章主要介紹了SpringBoot整合mybatisplus和druid的方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-08-08
  • Java點餐小程序之黑心商人

    Java點餐小程序之黑心商人

    這篇文章主要介紹了一個Java編程的小程序-點餐系統(tǒng),算是對之前所學習的Java基礎知識作了一個匯總,需要的朋友可以參考下
    2017-09-09
  • Java中兩種拋出異常的方式示例詳解

    Java中兩種拋出異常的方式示例詳解

    在Java中有兩種拋出異常的方式,一種是throw,直接拋出異常,另一種是throws,間接拋出異常,本文給大家詳細說明java中兩種拋出異常的方式,感興趣的朋友一起看看吧
    2023-08-08
  • SpringMVC 攔截器的使用示例

    SpringMVC 攔截器的使用示例

    這篇文章主要介紹了SpringMVC 攔截器的使用示例,幫助大家更好的理解和學習使用SpringMVC,感興趣的朋友可以了解下
    2021-04-04
  • springboot啟動不了也不報錯的問題及解決

    springboot啟動不了也不報錯的問題及解決

    這篇文章主要介紹了springboot啟動不了也不報錯的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 深入理解Java設計模式之備忘錄模式

    深入理解Java設計模式之備忘錄模式

    這篇文章主要介紹了JAVA設計模式之備忘錄模式的的相關資料,文中示例代碼非常詳細,供大家參考和學習,感興趣的朋友可以了解
    2021-11-11
  • Java中Request請求轉(zhuǎn)發(fā)詳解

    Java中Request請求轉(zhuǎn)發(fā)詳解

    這篇文章主要介紹了Java中Request請求轉(zhuǎn)發(fā)詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 圖文精講java常見分布式事務理論與解決方案

    圖文精講java常見分布式事務理論與解決方案

    對于分布式系統(tǒng),最簡單的理解就是一堆機器對外提供服務,相比單體服務,它可以承受更高的負載,但是分布式系統(tǒng)也帶了一系列問題,今天帶大家搞懂和分布式相關的常見理論和解決方案
    2021-11-11

最新評論