Spring Boot 2.0版本 全局配置跨域请求支持

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wangchengming1/article/details/82781557

Spring Boot 2.0以前全局配置跨域主要是继承WebMvcConfigurerAdapter

@Configuration
public class CorsConfig extends WebMvcConfigurerAdapter {
 
    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowCredentials(true)
                .allowedMethods("*")
                .maxAge(3600);
    }
}

2.0.x以后全局配置如下,主要是实现WebMvcConfigurer

@Configuration
@EnableWebMvc
public class CorsConfig implements WebMvcConfigurer {

  @Override
  public void addCorsMappings(CorsRegistry registry) {
    // 设置允许跨域的路径
    registry.addMapping("/**")
        // 设置允许跨域请求的域名
        .allowedOrigins("*")
        // 是否允许证书 不再默认开启
        .allowCredentials(true)
        // 设置允许的方法
        .allowedMethods("*")
        // 跨域允许时间
        .maxAge(3600);
  }
}

当然除了全局配置以外,也可以使用最基本的方法进行配置跨域请求支持。

  @GetMapping("/getPageInfos")
  @CrossOrigin
  public JSONObject getPageInfos(@RequestParam(value = "resourceId") long resourceId,
      @RequestParam(value = "range", required = false) int[] range,HttpServletResponse response) {
    response.setHeader("Access-Control-Allow-Origin", "*");
    // do sth...
  }

猜你喜欢

转载自blog.csdn.net/wangchengming1/article/details/82781557