Обработка неизвестных свойств в JAX-RS 1.1.0 - PullRequest
0 голосов
/ 02 июля 2019

Я застрял с 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
...