Я использую jersey-media-json-jackson-2.27 с внутренним jackson.jaxrs.base, где находится JsonParseExceptionMapper, который используется для отправки «400 неверных запросов в случае получения непарсируемого JSON. Но я хочу свой собственныйНастраиваемый сопоставитель.
Я создал свой собственный настраиваемый сопоставитель исключений.
Я уже пытался установить аннотацию @Priority (1), зарегистрировать ее в моем ResourceConfig как регистр (ApplicationJsonExceptionMapper.class) и с регистром (ApplicationJsonExceptionMapper.class, 1). Также у меня есть регистр (JacksonJaxbJsonProvider.class).
package com.application.provider;
import javax.ws.rs.core.Response;
import javax.ws.rs.ext.ExceptionMapper;
import javax.ws.rs.ext.Provider;
import com.fasterxml.jackson.core.JsonProcessingException;
@Provider
public class ApplicationJsonExceptionMapper implements
ExceptionMapper<JsonProcessingException> {
@Override
public Response toResponse(JsonProcessingException
jsonProcessingException) {
String responseMessage = "Invalid JSON";
return Response.status(Response.Status.BAD_REQUEST).entity(responseMessage).type("text/plain").build();
}
}
К сожалению, когда я отправляю недопустимый JSON, он все еще использует встроенныйв JsonParseExceptionMapper, есть ли у вас какие-либо идеи, чтобы попробовать?