EDIT:jackson-jaxrs-base-2.8で解決された以前のバージョンのackson-jaxrs-baseの問題でした。 https://github.com/FasterXML/jackson-jaxrs-providers/issues/22Jersey 2.x ExceptionMapper親マッピング
私は例外マッパーを使用してこの問題に取り組んでいます。私は、com.fasterxml.jackson.core.JsonProcessingExceptionのすべての子をsinlge ExceptionMapperにマップしたいと思います。次のコードで正常に動作します
@Provider
public class JsonProcessingExceptionMapper implements ExceptionMapper<JsonProcessingException> {
@Override
public Response toResponse(JsonProcessingExceptionexception) {
return Response.status(Response.Status.BAD_REQUEST)
.entity("json parsing error!")).build();
}
:ここ
は私のコードです
@Provider
public class JsonMappingExceptionMapper implements ExceptionMapper<JsonMappingException> {
@Override
public Response toResponse(JsonMappingException exception) {
return Response.status(Response.Status.BAD_REQUEST)
.entity("parsing error!").build();
}
}
EDIT:JsonProcessingExceptionは、私がここで間違ってやっている正確に何JsonMappingException の親ですか?
したがって、JsonProcessingExceptionのすべての子を単一のExceptionMapperにマップする方法はありませんか? – user3454970
プロバイダを削除することが可能かどうかわかりません。あなたは回避策を講じなければならないかもしれません。しかしおそらくこれはhttp://stackoverflow.com/questions/17794372/removing-an-added-provider-in-jerseyが助けになるでしょう。 – kosbr