Spring-boot-cors-support
Spring Boot-CORSサポート
Cross-Origin Resource Sharing(CORS)は、Webブラウザーに実装されたリソースを制限できるセキュリティ概念です。 異なるオリジンに対してリクエストを生成または消費するJavaScriptコードを防ぎます。
たとえば、Webアプリケーションが8080ポートで実行されており、JavaScriptを使用して9090ポートからRESTful Webサービスを使用しようとしています。 このような状況では、Webブラウザーでクロスオリジンリソース共有のセキュリティ問題に直面します。
この問題を処理するには2つの要件が必要です-
- RESTful Webサービスは、クロスオリジンリソース共有をサポートする必要があります。
- RESTful Webサービスアプリケーションは、8080ポートからAPIへのアクセスを許可する必要があります。
この章では、RESTful Webサービスアプリケーションのクロスオリジンリクエストを有効にする方法について詳しく学習します。
コントローラーメソッドでCORSを有効にする
コントローラーメソッドに @ CrossOrigin アノテーションを使用して、RESTful Webサービスの起点を設定する必要があります。 この@CrossOrigin注釈は、アプリケーション全体ではなく、特定のREST APIをサポートしています。
グローバルCORS設定
表示された@Bean構成を定義して、CORS構成サポートをSpring Bootアプリケーションにグローバルに設定する必要があります。
メインのSpring BootアプリケーションでCORS構成をグローバルに設定するコードを以下に示します。
これで、8080ポートで実行されるSpring Boot Webアプリケーションと、9090ポートで実行できるRESTful Webサービスアプリケーションを作成できます。 RESTful Webサービスに関する実装の詳細については、このチュートリアルの Consuming RESTful Web Services というタイトルの章を参照してください。