Я использую встроенную в Джерси обработку Джексона для преобразования входящего JSON в POJO, например:
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response newCustomer( CustomerRepresentation customer)
{
...
}
Если клиент отправляет JSON с недопустимыми полями, Джерси в настоящее время возвращает 500 Internal Server Error
.Вместо этого я хотел бы вернуть 400 Bad Request
, предпочтительно с какой-либо значимой детализацией, указывающей, в каких полях есть ошибки.
Любое понимание того, как это можно сделать?(По крайней мере, возвращать универсальный 400 вместо совершенно неподходящего 500?)
Обновление: Вот исключение, генерируемое на стороне сервера, прежде чем мой обработчик будет вызван:
javax.servlet.ServletException: org.codehaus.jackson.map.exc.UnrecognizedPropertyException:
Unrecognized field "this_isnt_a_known"_field" (Class com.redacted....), not marked as ignorable