問題タブ [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.

0 投票する
2 に答える
1920 参照

java - JAXRS/Jersey 2 - 検証エラーが ExceptionMapper を呼び出さない

最新の Jersey (2.22.1) を使用して、さまざまなニーズに対応するカスタム バリデータを作成しました。しかし、私のカスタムExceptionMapper(web.xml に として登録されているprovider) は、 ConstraintViolationException が発生したときに呼び出されませんが、ExceptionMapper<Throwable>.

web.xml

DefaultExceptionMapper

デバッガーを使用すると、クラス org.glassfish.jersey.server.ServerRuntime の 596 行目で、解決されたマッパーは私のものではなく、org.glassfish.jersey.server.validation.internal.ValidationExceptionMapper.

DefaultExceptionMapperの場合にジャージーに my を使用するように指示するにはどうすればよいConstraintViolationExceptionですか?

PS:ここで提案されているオプションを試してみました:無効な JSON を受信した場合、ExceptionMapper は呼び出されません。

0 投票する
3 に答える
3243 参照

json - ジャージーはジャクソン例外をキャッチできません

私の REST API では、jersey と ExceptionMapper を使用してグローバルな例外をキャッチしています。アプリがスローするすべての例外でうまく機能しますが、ジャクソンによってスローされた例外をキャッチできません。

たとえば、私のエンドポイントの 1 つは、列挙型を含むオブジェクトを受け入れます。リクエストの Json に enum jersey にない値がある場合、この例外をスローします

このマッパーを作成したにもかかわらず

コードがこのマッパーに到達することはありません。

これらの例外をキャッチするために必要なことはありますか?

編集 注:私はあまり一般的ではないことを試みましたが、JsonMappingException の代わりに InvalidFormatException を使用します。この場合、マッパーが呼び出されます。しかし、InvalidFormatException は JsonMappingException を拡張し、同様に呼び出す必要があるため、まだわかりません

0 投票する
2 に答える
292 参照

spring - Spring JsonExceptionMapper ExceptionMapper の処理。

サーバーの起動時に weblogic コンソールに次のエラーが表示されます。

SEVERE: パラメーター インデックス 0 のコンストラクター public com.test.mine.exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation) の依存関係がありません SEVERE: コンストラクター public com.test.mine の依存関係がありません。パラメーター インデックス 1 の exception.JsonExceptionMapper(java.lang.String,com.fasterxml.jackson.core.JsonLocation)

以下は私のJavaコードです。


0 投票する
1 に答える
196 参照

jersey - ジャージーSQLExceptionマッパーが呼び出されない

これは私の SqlExceptionMapper です

ここで、関数の catch ブロックで例外をスローしています

これは私のweb.xmlです

コードをデバッグしましたが、catch ブロックが SQLException をスローしています。唯一の問題は、作成したマッパーにマッピングされていないことです。

0 投票する
1 に答える
1178 参照

java - サブリソースを間違って呼び出すジャージー

JAX-RS を使用して RESTful Web サービスを学習しています。とMessageResourceサブ リソースがありCommentResourceます。

呼び出したくないので、クラスでMessageResourceコメントしたテストメソッドでコメントサブリソースをマップしました。MessageResourceCommentResource

私はCommentResource次のようなサブリソースを持っています:

Throwableクラスにマップされる一般的な例外マッパーを作成しました。これは、Tomcat エラー レポート ページを表示するのではなく、サーバー エンドで例外が発生した場合に、意味のあるメッセージを送信するために作成されています。

さらに、URLを呼び出して汎用例外マッパーをテストしているとき

http://localhost:8080/messenger/webapi/messa

のどのメソッドにもマップされていませんMessageResourceCommentResource 次のメソッドを呼び出しています。

上記の方法にコメントすると、Postman で適切な応答が得られます。

誰でもこの動作を説明できますか? 前もって感謝します。

0 投票する
1 に答える
831 参照

exception-handling - JAX-RS Exception Mapper が Grizzly コンテナで動作しない

チームで Jersey Web アプリケーションに取り組んでいましたが、プロジェクトが大きくなるにつれて、Tomcat から Grizzly に切り替えて、プロジェクトの一部を異なるポート番号にデプロイできるようにすることにしました。私が今見つけたのは、私たちが持っているカスタム例外処理が今はうまくいかず、代わりに常に grizzly html ページを取得することです。

例外の例:

マッパー:

問題の原因がどこにあるのかわかりません。必要に応じて、より多くの情報/コードを提供できます。何が問題なのですか、何を試すことができますか?

編集

Main.class:

EDIT2:この質問に 基づいて、このServerProperties.RESPONSE_SET_STATUS_OVER_SEND_ERROR, "true"プロパティを使用してみましたが、少ししか役に立ちませんでした。例外が発生したときにまだ html grizzly ページを取得していますが、ページの本文に例外 (+ スタック トレース) が表示されます。

0 投票する
1 に答える
75 参照

java - Jersey カスタム ExceptionMappers を .jar war ファイルから .war ファイルにインポートできますか?

JUnit テストを実行すると、このエラーが発生し続けます。これは、Jersey カスタム ExceptionMappers を .jar ファイルから .war ファイルにインポートしようとしたときにのみ発生します。

マッパーが .war ファイルにある場合、マッパーが正しく動作することはわかっていますが、マッパーを必要とする 2 つの別個のモジュールがあり、マッパーを複製して各モジュールに 1 つ持つことは避けたいと考えています。

.jar ファイルから ExceptionMapper をインポートする方法を知っている人はいますか?