@ Советы Исключение, бросающее аннотации, Как обращаться - PullRequest
0 голосов
/ 28 февраля 2020

Мой сервис принимает Json и потребляет его для меня и сопоставляет его с моими DTO.

@POST
@Consumes(MediaType.APPLICATION_JSON)
@Path("/service")
@Produces(MediaType.APPLICATION_JSON)
public Response myService(Request requestBody) {
     //Stuff
}

Однако в моих DTO есть определенные поля, которые выдают исключение JsonMapperException, если этот конкретный элемент имеет значение null.

Поскольку это происходит до того, как я на самом деле захожу в службу, как я могу изящно обработать это исключение и вернуть Json с пользовательским кодом ошибки и сообщением?

И, кроме того, как пометить элемент как «Необязательный», чтобы маппер просто игнорировал его, если он нулевой или отсутствовал, но сериализовал его, если он не пустой?

1 Ответ

0 голосов
/ 01 марта 2020

Собираюсь ответить на мой собственный вопрос.

Причина, по которой это вызвало исключение, была в том, что я пытался сделать logi c в моем DTO. Эта логика c потерпит неудачу, если входящий элемент будет NULL. Не было легкого пути обойти это.

Однако в соответствии с передовой практикой в ​​DTO требуется как можно меньше логики c. Поэтому я просто переместил логи c в основной метод сервиса и сделал там свои расчеты.

Проблема решена.

...