SpringBootでクロスオリジンリソース共有を実装するにはどうすればいいですか?

SpringBootでCORS(Cross-Origin Resource Sharing)を実装する方法はいくつかありますが、よく使用される方法の1つは次のとおりです:

  1. SpringBootの設定クラスにクロスオリジン設定を追加してください。
@Configuration
public class CorsConfig {

    @Bean
    public WebMvcConfigurer corsConfigurer() {
        return new WebMvcConfigurer() {
            @Override
            public void addCorsMappings(CorsRegistry registry) {
                registry.addMapping("/**")
                        .allowedOrigins("*") // 允许所有域名访问,也可以指定特定域名
                        .allowedMethods("GET", "POST", "PUT", "DELETE") // 允许的请求方法
                        .allowedHeaders("*") // 允许的请求头
                        .allowCredentials(true) // 是否允许发送 Cookie
                        .maxAge(3600); // 探测请求的有效期
            }
        };
    }
}

このコードは、すべてのドメインへのアクセスを許可し、Cookieの送信を許可します。実際の要件に応じて設定を調整できます。

  1. @CrossOriginアノテーションを使用します。

Controller層のメソッドに@CrossOrigin注釈を追加すると、クロスオリジンリソース共有が実現できます。例えば:

@RestController
public class MyController {

    @CrossOrigin(origins = "*", maxAge = 3600)
    @GetMapping("/hello")
    public String hello() {
        return "Hello, world!";
    }
}

実際のプロジェクトでは、必要に応じて適切な方法を選択できますが、上記はCORSを実現するための一般的な2つの方法です。

bannerAds