springboot解决跨域问题

程序浅谈 后端 2024-11-25

springboot解决跨域问题

首先先了解一下什么是跨域问题?

前端调用的后端接口不属于同一个域(域名或端口不同),就会产生跨域问题,也就是说你的应用访问了该应用域名或端口之外的域名或端口。

SpringBoot跨域问题设置

方法一:java

代码解读
复制代码
package com.bo.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.filter.CorsFilter; @Configuration public class CorsConfig { // 当前跨域请求最大有效时长。默认是一天 private static final long MAX_AGE = 24 * 60 * 60; @Bean public CorsFilter corsFilter() { UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(); CorsConfiguration corsConfiguration = new CorsConfiguration(); corsConfiguration.addAllowedOrigin("http://localhost:8080"); // 1 设置访问源地址 corsConfiguration.addAllowedHeader("*"); // 2 设置访问请求头 corsConfiguration.addAllowedMethod("*"); // 3 设置访问请求方法 corsConfiguration.setMaxAge(MAX_AGE); source.registerCorsConfiguration("/**", corsConfiguration); // 4 对接配置跨域设置 return new CorsFilter(source); } }

方法二:java

代码解读
复制代码
/** * 跨域配置 */ @Configuration public class CorsConfig implements WebMvcConfigurer { @Override public void addCorsMappings(CorsRegistry registry) { // 设置允许跨域请求路径 registry.addMapping("/**") // 设置允许跨域请求的域名 .allowedOriginPatterns("*") //或.allowedOriginPatterns("http://www.baidu.com") 指定域名 //是否允许cookie .allowCredentials(true) // 设置允许的请求方式 .allowedMethods("GET", "POST", "PUT", "DELETE") // 设置允许的header属性 .allowedHeaders("*") // 允许跨域时间 .maxAge(3600); } }

配置好重新启动后端项目即可生效

转载来源:https://juejin.cn/post/7295276751596798004

Apipost 私有化火热进行中

评论