Spring-boot-exception-handling
Spring Boot-例外処理
APIで例外とエラーを処理し、クライアントに適切な応答を送信することは、エンタープライズアプリケーションに適しています。 この章では、Spring Bootで例外を処理する方法を学びます。
例外処理に進む前に、次の注釈について理解しましょう。
コントローラーのアドバイス
@ControllerAdviceは、例外をグローバルに処理するための注釈です。
例外ハンドラー
@ExceptionHandlerは、特定の例外を処理し、カスタム応答をクライアントに送信するために使用される注釈です。
次のコードを使用して@ControllerAdviceクラスを作成し、例外をグローバルに処理できます-
RuntimeExceptionクラスを拡張するクラスを定義します。
示されているように、@ ExceptionHandlerメソッドを定義して例外を処理できます。 このメソッドは、Controller Adviceクラスファイルの作成に使用する必要があります。
次に、以下のコードを使用して、APIから例外をスローします。
例外を処理する完全なコードを以下に示します。 この例では、PUT APIを使用して製品を更新しました。 ここで、製品の更新中に製品が見つからない場合は、「製品が見つかりません」という応答エラーメッセージを返します。 ProductNotFoundException 例外クラスは RuntimeException を拡張する必要があることに注意してください。
例外をグローバルに処理するController Adviceクラスを以下に示します。 このクラスファイルで例外ハンドラメソッドを定義できます。
製品を更新するためのProduct Service APIコントローラーファイルを以下に示します。 製品が見つからない場合、 ProductNotFoundException クラスがスローされます。
メインのSpring Bootアプリケーションクラスファイルのコードは以下のとおりです-
製品の* POJOクラス*のコードは以下のとおりです-
あなたは、実行可能なJARファイルを作成し、MavenまたはGradleコマンドを使用してSpring Bootアプリケーションを実行することができます-
Mavenの場合、次のコマンドを使用できます-
「BUILD SUCCESS」の後、ターゲットディレクトリの下にJARファイルがあります。
Gradleの場合、次のコマンドを使用できます-
「BUILD SUCCESSFUL」の後、build/libsディレクトリの下にJARファイルがあります。
次のコマンドを使用してJARファイルを実行できます-
これは、以下に示すようにTomcatポート8080でアプリケーションを開始します-
今、POSTMANアプリケーションで以下のURLをヒットし、以下に示すように出力を見ることができます-
更新URL:http://localhost:8080/products/3