私のプロジェクトの 1 つで、すでに Jersey をバージョン2.14
から にアップグレードしました2.23
。しかし、私は1つの問題で何時間も苦労しています。私のプロジェクトでは独自ExceptionMapper
の a を定義しValidationException
ていますが、残念ながら、Jersey にはこの例外用の組み込みの例外マッパーが既にあり、それをオーバーライドすることはできません。
以下に示す独自のマッパーを正しく登録しました(チェックしました):
@Provider
public class ValidationExceptionMapper implements
ExceptionMapper<ValidationException> {
@Override
public Response toResponse(ValidationException exception) {
return Response.status(Status.BAD_REQUEST).build();
}
}
しかし、それは決して呼び出されていません。ジャージーは常にorg.glassfish.jersey.server.validation.internal.ValidationExceptionMapper
. カスタムマッパーにも注釈を使用しようとしまし @Priority
たが、残念ながらJerseyはそれを考慮していません.
それで、何が起こっているのですか?以前のジャージー バージョンでは問題なく動作していたので、回帰バグのようです。
あきらめる。手がかりはありますか?