Программная обработка ошибок в релевантном спокойном приложении - PullRequest
0 голосов
/ 02 ноября 2018

У меня есть спокойное приложение веб-службы, которое использует JSON и развернуто на сервере EA JBosss 6, который, в свою очередь, использует среду resteasy. Платформа resteasy проверяет каждый пользовательский запрос для меня и отправляет обратно сообщение об ошибке клиенту, если данные запроса ошибочны. Кроме того, resteasy устанавливает код состояния HTTP равным 400, что мне не нужно.

Например, я определил в своем приложении перечисление MandantCode, которое имеет три возможных значения (UNIQA, SLV, VVD) и является частью объекта запроса. Если я тестирую свое приложение, предоставив MandantCode несуществующее значение XXX, например:

        "mandant" : { 
            "code": "XXX" 
        }, 

Я получаю следующее сообщение об ошибке:

JBWEB000065: HTTP Status 400 - org.codehaus.jackson.map.JsonMappingException: Can not construct instance of at.uniqa.slsi.svc.model.Mandant$MandantCode from String value 'XXX': value not one of declared Enum instance names at [Source:.... 

Есть ли способ программно проверить пользовательский запрос, предоставив специальное сообщение об ошибке для каждого недопустимого поля? Я хотел бы отправить клиенту верный код состояния HTTP 200 плюс некоторую структуру содержимого JSON, описывающую природу ошибки.

Спасибо и брат: Алекс

...