Я застрял с JAX-RS 1.1.0 для использования REST, и я использую javax.validation 1.1.0.FINAL.
Когда потребитель отправляет неизвестное свойство в JSON, он получает UnrecognizedPropertyException
с кодом ошибки 500 и большим количеством yadi yadi ..
Я не нашел способа перехватить это исключение и отослать что-либо по моему выбору (например, ошибка 400)
Подпись выглядит так:
@POST
@Consumes(MediaType.APPLICATION_JSON)
public Response storeDocument(DokumentData dokumentData)
Есть ли способ в этой старой версии JAX-RS хорошо обработать это исключение? В версии 2.0 есть @JsonIgnoreProperties(ignoreUnknown = true)
, но я не могу это использовать.
StackTrace:
[ERROR ] An unhandled exception occurred which will be propagated to the
container.
Unrecognized field "personnummer1" (Class
se.skandia.ad14.valueobjects.DokumentData), not marked as ignorable
at [Source: com.ibm.ws.webcontainer.srt.SRTInputStream@46611da2; line: 6,
column: 23] (through reference chain:
se.skandia.ad14.valueobjects.DokumentData["personnummer1"])
[ERROR ] SRVE0777E: Exception thrown by application class
'org.apache.wink.server.internal.RequestProcessor.handleRequest:195'
javax.servlet.ServletException:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized
field "personnummer1" (Class se.skandia.ad14.valueobjects.DokumentData), not
marked as ignorable
at [Source: com.ibm.ws.webcontainer.srt.SRTInputStream@46611da2; line: 6,
column: 23] (through reference chain:
se.skandia.ad14.valueobjects.DokumentData["personnummer1"])
at org.apache.wink.server.internal.RequestProcessor.handleRequest(RequestProcessor.java:195)
at [internal classes]
Caused by: org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "personnummer1" (Class
se.skandia.ad14.valueobjects.DokumentData), not marked as ignorable
at [Source: com.ibm.ws.webcontainer.srt.SRTInputStream@46611da2; line: 6, column: 23] (through reference chain: se.skandia.ad14.valueobjects.DokumentData["personnummer1"])
at org.codehaus.jackson.map.exc.UnrecognizedPropertyException.from(UnrecognizedPropertyException.java:53)
... 1 more