Spring-boot-interceptor
スプリングブート-インターセプター
あなたは、スプリングブートでインターセプターを使用して、次の状況下で操作を実行することができます-
- リクエストをコントローラーに送信する前に
- 応答をクライアントに送信する前に
例えば、インターセプターを使用して、コントローラーに要求を送信する前に要求ヘッダーを追加し、クライアントに応答を送信する前に応答ヘッダーを追加できます。
インターセプターを使用するには、それをサポートする @ Component クラスを作成する必要があり、 HandlerInterceptor インターフェースを実装する必要があります。
以下は、インターセプターでの作業中に知っておくべき3つの方法です-
- * preHandle()*メソッド-要求をコントローラに送信する前に操作を実行するために使用されます。 このメソッドは、クライアントに応答を返すためにtrueを返す必要があります。
- * postHandle()*メソッド-これは、クライアントに応答を送信する前に操作を実行するために使用されます。
- * afterCompletion()*メソッド-これは、要求と応答の完了後に操作を実行するために使用されます。
より良い理解のために次のコードを観察します-
以下に示すように、 WebMvcConfigurerAdapter を使用して InterceptorRegistry でこのインターセプターを登録する必要があります-
以下に示す例では、GET products APIを使用して、以下に示す出力を提供します-
インターセプタークラスProductServiceInterceptor.javaのコードは以下のとおりです-
インターセプターをインターセプターレジストリに登録するアプリケーション構成クラスファイルのコード– ProductServiceInterceptorAppConfig.javaを以下に示します-
ControllerクラスファイルProductServiceController.javaのコードは以下のとおりです-
Product.javaのPOJOクラスのコードは次のとおりです-
メインのSpring Bootアプリケーションクラスファイル DemoApplication.java のコードは以下のとおりです-
Mavenビルドのコード- pom.xml を以下に示します-
Gradle Build build.gradle のコードは次のとおりです-
以下のMavenまたはGradleコマンドを使用して、実行可能なJARファイルを作成し、Spring Bootアプリケーションを実行できます。
Mavenの場合、以下に示すようにコマンドを使用します-
「BUILD SUCCESS」の後、ターゲットディレクトリの下にJARファイルがあります。
Gradleの場合、以下に示すようにコマンドを使用します-
「BUILD SUCCESSFUL」の後、build/libsディレクトリの下にJARファイルがあります。
次のコマンドを使用してJARファイルを実行できます-
これで、アプリケーションは以下に示すようにTomcatポート8080で開始されました-
ここで、POSTMANアプリケーションで以下のURLにアクセスすると、以下に示すような出力が表示されます-
GET API: http://localhost:8080/products
POSTMAN Application Get API URL
コンソールウィンドウで、以下のスクリーンショットに示すように、インターセプターに追加されたSystem.out.printlnステートメントを確認できます-