Spring Boot 2.0バージョンのグローバル構成はドメインをまたいでサポートを要求します.

1389 ワード

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...
  }