从Spring Boot 1.5.x升级到2.0.x时,@CrossOrigin出现根中断是因为在Spring Boot 2.0.x中,@CrossOrigin注解的默认行为发生了变化。
在Spring Boot 1.5.x中,@CrossOrigin注解默认是开启的,允许所有的跨域请求。但是在Spring Boot 2.0.x中,@CrossOrigin注解默认是关闭的,不允许跨域请求。这是为了提高安全性和防止潜在的安全风险。
要解决这个问题,可以采取以下几种方法:
@CrossOrigin(origins = "http://example.com", methods = RequestMethod.GET, allowedHeaders = "header1")
@Configuration
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addCorsMappings(CorsRegistry registry) {
registry.addMapping("/**")
.allowedOrigins("http://example.com")
.allowedMethods("GET")
.allowedHeaders("header1")
.allowCredentials(false)
.maxAge(3600);
}
}
在application.properties中:
spring.mvc.crossorigin.allowed-origins=http://example.com
spring.mvc.crossorigin.allowed-methods=GET
spring.mvc.crossorigin.allowed-headers=header1
spring.mvc.crossorigin.allow-credentials=false
spring.mvc.crossorigin.max-age=3600
在application.yml中:
spring:
mvc:
crossorigin:
allowed-origins: http://example.com
allowed-methods: GET
allowed-headers: header1
allow-credentials: false
max-age: 3600
以上是解决@CrossOrigin出现根中断的常见方法。根据具体情况选择其中一种方法进行配置即可。
关于Spring Boot的更多信息和使用方法,可以参考腾讯云的Spring Boot产品介绍页面:Spring Boot产品介绍
没有搜到相关的沙龙