完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題
當(dāng)我們在做前后端分離的開發(fā)時,在使用fetch交換數(shù)據(jù)的時候,提示Access-Control-Allow-Origin跨域問題,解決方案跟客戶端沒關(guān)系,修改的是服務(wù)端。
一、在過濾器中設(shè)置響應(yīng)頭:
@WebFilter(filterName = "CorsFilter ") public class CorsFilter implements Filter { @Override public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException { HttpServletResponse response = (HttpServletResponse) res; HttpServletRequest reqs = (HttpServletRequest) req; // response.setHeader("Access-Control-Allow-Origin",reqs.getHeader("Origin")); response.setHeader("Access-Control-Allow-Origin","*"); response.setHeader("Access-Control-Allow-Credentials", "true"); response.setHeader("Access-Control-Allow-Methods", "POST, GET, PATCH, DELETE, PUT"); response.setHeader("Access-Control-Max-Age", "3600"); response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); chain.doFilter(req, res); } @Override public void init(FilterConfig filterConfig) {} @Override public void destroy() {} }
二、在spring boot 服務(wù)中心添加一個配置文件:
@Configuration public class CorsConfig extends WebMvcConfigurerAdapter { @Override public void addCorsMappings(CorsRegistry registry) { registry.addMapping("/**").allowedOrigins("*") .allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS") .allowCredentials(true).maxAge(3600); } }
到此這篇關(guān)于完美解決Spring Boot前端的Access-Control-Allow-Origin跨域問題的文章就介紹到這了,更多相關(guān)springboot Access-Control-Allow-Origin跨域內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
如何修改FeginCilent定義的服務(wù)名到指定服務(wù)
這篇文章主要介紹了修改FeginCilent定義的服務(wù)名到指定服務(wù)的操作,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07Java結(jié)構(gòu)型設(shè)計模式之適配器模式詳解
適配器模式,即將某個類的接口轉(zhuǎn)換成客戶端期望的另一個接口的表示,主要目的是實現(xiàn)兼容性,讓原本因為接口不匹配,沒辦法一起工作的兩個類,可以協(xié)同工作。本文將通過示例詳細(xì)介紹適配器模式,需要的可以參考一下2022-09-09Mybatis一對多關(guān)聯(lián)關(guān)系映射實現(xiàn)過程解析
這篇文章主要介紹了Mybatis一對多關(guān)聯(lián)關(guān)系映射實現(xiàn)過程解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02使用java實現(xiàn)BBS論壇發(fā)送郵件過程詳解
這篇文章主要介紹了使用java發(fā)送郵件過程詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2021-04-04java swing實現(xiàn)的掃雷游戲及改進(jìn)版完整示例
這篇文章主要介紹了java swing實現(xiàn)的掃雷游戲及改進(jìn)版,結(jié)合完整實例形式對比分析了java使用swing框架實現(xiàn)掃雷游戲功能與相關(guān)操作技巧,需要的朋友可以參考下2017-12-12springboot2.3之后hibernate-validator依賴缺失【踩坑】
這篇文章主要介紹了springboot2.3之后hibernate-validator依賴缺失【踩坑】,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11詳解Mybatis 傳遞參數(shù)類型為List的取值問題
這篇文章主要介紹了詳解Mybatis 傳遞參數(shù)類型為List的取值問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10java基于包結(jié)構(gòu)的請求路由實現(xiàn)實例分享
基于包結(jié)構(gòu)的請求路由簡單實現(xiàn)實例分享,大家參考使用吧2013-12-12使用Spring Initializr創(chuàng)建Spring Boot項目沒有JDK1.8的解決辦法
很久沒創(chuàng)建springboot項目,今天使用idea的Spring Initializr 創(chuàng)建 Spring Boot項目時,發(fā)現(xiàn)java版本里,無法選擇jdk1.8,只有17、21、22,所以本文介紹了使用Spring Initializr創(chuàng)建Spring Boot項目沒有JDK1.8的解決辦法,需要的朋友可以參考下2024-06-06