首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从Spring Boot 1.5.x升级到2.0.x时,@Crossorigin出现根中断

从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注解默认是关闭的,不允许跨域请求。这是为了提高安全性和防止潜在的安全风险。

要解决这个问题,可以采取以下几种方法:

  1. 在需要跨域的Controller类或方法上添加@CrossOrigin注解,并设置允许跨域的域名、方法和头信息。例如:
代码语言:java
复制
@CrossOrigin(origins = "http://example.com", methods = RequestMethod.GET, allowedHeaders = "header1")
  1. 在全局配置中开启跨域支持。可以创建一个配置类,继承WebMvcConfigurerAdapter,并重写addCorsMappings方法。例如:
代码语言:java
复制
@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);
    }
}
  1. 在application.properties或application.yml配置文件中添加全局跨域配置。例如:

在application.properties中:

代码语言:txt
复制
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中:

代码语言:yaml
复制
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产品介绍

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

没有搜到相关的沙龙

领券