SpringBoot跨域问题
本文共 1,644 字,预计阅读时间 5 分钟
对于前后端分离的项目,跨域问题十分明显。同一协议,同一ip,同一端口,三同中有一不同就产生了跨域。解决办法很简单,在后台配置允许跨域即可:
新建一个配置类CorsConfig,设置其允许跨域,并注入到spring中。
package com.zys.demo.config; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.cors.CorsConfiguration; import org.springframework.web.cors.UrlBasedCorsConfigurationSource; import org.springframework.web.cors.reactive.CorsWebFilter; import org.springframework.web.filter.CorsFilter; import org.springframework.web.util.pattern.PathPatternParser; /** * 跨域配置,允许跨域,可由前台或后端设置,二选一 */ @Configuration public class CorsConfig { private CorsConfiguration buildConfig() { CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("*"); corsConfiguration.addAllowedHeader("*"); corsConfiguration.addAllowedMethod("*"); corsConfiguration.setAllowCredentials(true); return corsConfiguration; } //配置方式1:使用CorsFilter @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new org.springframework.web.cors.UrlBasedCorsConfigurationSource(); source.registerCorsConfiguration("/**", buildConfig()); return new CorsFilter(source); } // //配置方式2:使用CorsWebFilter // @Bean // public CorsWebFilter corsFilter() { // UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser()); // source.registerCorsConfiguration("/**", buildConfig()); // return new CorsWebFilter(source); // } }
代码中有两种配置的方式,若第一种启动报错,就使用第二种。第二种方式可配置SpringCloud网关Gateway的跨域,而使用第一种就会报错。
就是这么简单,你学废了吗?感觉有用的话,给笔者点个赞吧 !
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!