Я использую встроенную в Джерси обработку Джексона для преобразования входящего 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