1

上記の質問に対する答えが見つかりませんでした。カスタム応答を提供するために、InjectableProviderから例外をスローし、ExceptionMapperでキャッチするにはどうすればよいですか?

4

1 に答える 1

1

アレックスパベル

私はこれを自分で試しました:

  • JodaDateTime注入可能なプロバイダー:PerRequestTypeInjectableProvider<PathParam, DateTime>
  • クライアントが受け入れる形式 (XML、JSON など) でシリアライズ可能なオブジェクトに例外を変換するマッパー:ExceptionMapper<WebApplicationException>

私の実験に基づいて、でWebApplicationExceptionスローされたものInjectableProvider は例外 mapper をバイパスするため、適切にフォーマットされていないようです。

私も試しました:

  • ExceptionMapper<ParamException>、を追加する
  • これらが配線される順序がアルファベット順に従うことを期待して、クラスの名前を変更します。

しかし、これまでのところ運がありません。

@ Pavel / ジャージー出身の方: どんなアドバイスでも大歓迎です!

ありがとう、

マーク。


アップデート

/ブロックInjectableProviderでロジックをラップする場合、ブロックでは、トリックは次のとおりです。trycatchcatch

  1. シリアライズ可能な POJO / カスタム レスポンスを作成します。
  2. javax.ws.rs.core.Response適切なステータス コードおよび/またはメディア タイプでラップします。
  3. WebApplicationExceptionエンティティ パラメータとして に渡します。

@ Pavel / Jersey の誰か: この追加のロジックを回避し、物事を「うまく機能させる」代替手段はありますか?

于 2012-11-29T17:13:50.483 に答える