EDIT: C'était un problème dans les versions antérieures de ackson-jaxrs-base, qui est résolu dans jackson-jaxrs-base-2.8. https://github.com/FasterXML/jackson-jaxrs-providers/issues/22Jersey 2.x ExceptionMapper Parent Mapping
Je suis aux prises avec ce problème, avec un mappeur d'exception. Je veux mapper tous les enfants de com.fasterxml.jackson.core.JsonProcessingException dans un ExceptionMapper sinlge.
voici mon code:
@Provider
public class JsonProcessingExceptionMapper implements ExceptionMapper<JsonProcessingException> {
@Override
public Response toResponse(JsonProcessingExceptionexception) {
return Response.status(Response.Status.BAD_REQUEST)
.entity("json parsing error!")).build();
}
fonctionne très bien avec le code suivant:
@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 est parent de JsonMappingException je suis exactement ce que fais mal ici?
Ainsi, il n'existe aucun moyen de mapper tous les enfants de JsonProcessingException dans un seul ExceptionMapper? – user3454970
Je ne sais pas s'il est possible de supprimer le fournisseur. Peut-être que vous devez faire une solution de contournement. Mais probablement ce http://stackoverflow.com/questions/17794372/removing-an-added-provider-in-jersey vous aidera. – kosbr