CXF javax.ws.rs.ext.Providerを制約して、着信 JAX-RS 要求にのみ適用する方法はありますか?
私が望むのは、ジャクソンからのすべての着信 JsonMappingExceptions を一般的な方法で処理して 400 応答をスローすることですが、ダウンストリーム処理の結果としてスローされた可能性のある JsonMappingException は処理しません。
@ConstrainedTo(Type.SERVER) アノテーションで遊んでみましたが、CXF がそれらをサポートしているようには見えません。
私はこのようなことをしたいと思います:
@Provider //doesn't seem to be supported by CXF, so I manually add it in the XML configuration
@ConstrainedTo(Type.SERVER) //doesn't seem to do anything at all...
public class InvalidRequestExceptionMapper implements ExceptionMapper<JsonMappingException> {
@Override
public Response toResponse(JsonMappingException jsonE) {
return Response.status(400).type(MediaType.APPLICATION_JSON).entity("Bad stuff in JSON from Request.").build();
}
}
しかし、それは実際には着信リクエストの処理だけに制限しているようには見えません。