問題タブ [exceptionmapper]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Javax Exception Mapper は 500 をスローするだけです
ユーザーにログインするために javax で実装された REST インターフェイスがあります。
さらにException Mapper
、スローされた例外を特定の HTTP 応答にマップする があります。
私がスローしているエラーとマッパークラスで定義しているステータスコードに関係なく、サーバーは定義された409ではなく、常に500内部サーバーエラーで応答します。前もって感謝します。
java - Glassfish 5 および Jersey 2.27 の応答フィッターでスローされたカスタム例外を返す
私は、場合によってはカスタム ビジネス例外をスローするカスタム応答フィルターを持つ jersey 2.27 サーバー アプリケーションを備えた glassfish 5 を使用しています。
応答フィルターは次のようになります。
例外と例外マッパーは次のように定義されます。
リクエストはエンドポイントを通過し、カスタム レスポンス フィルタに到達すると、上記のカスタム例外がスローされます。
例外は、jersey フレームワークによってキャッチされ、処理されます。例外マッパーを使用して応答に変換されます。
私の問題は、応答がクライアントに返されず、代わりにprocessResponse(response)
メソッドが呼び出され、すべての応答フィルターが再度呼び出されることです。これは基本的に同じエラーを再びスローします。魔女はキャッチされ、 Internal Server Error にラップされます。
私の側からのいくつかのコメントとともに、次のジャージ フレームワーク コードを確認できます。
私の質問は、応答フィルターでスローされたカスタム例外から応答を返すにはどうすればよいですか?
どうも!