Предотвращение логического значения из ненужного значения в объекте в вызове API покоя - PullRequest
0 голосов
/ 03 декабря 2018

У меня есть один объект, который имеет 3 атрибута с типами Integer, String и Boolean Data в Java, как показано ниже для данного тела REST.

 {
    "famousForId": 3,
    "name": "Food",
    "activeState": true
 }

У меня есть один класс pojo, который выглядит такзначение для логического значения: оно не показывает никаких ошибок, оно напрямую выдает неверный запрос по коду Http-кода 400. Я также хочу получить правильное сообщение для этого атрибута, любая помощь будет принята с благодарностью.Я использую Spring boot 2.0.6 Мой контроллер выглядит примерно так, как показано ниже приведенного блока кода

 @RequestMapping(value="/saveFamousForDetails",produces={"application/json"},method=RequestMethod.POST)
    ResponseEntity<?> saveEssentialDetails(@ApiParam(value="Body Parameters") @RequestBody @Validated @ModelAttribute("famousFor") FamousFor famousFor, BindingResult bindingResult)throws Exception;

1 Ответ

0 голосов
/ 03 декабря 2018

Один из способов, который я могу придумать, - это написать класс ExceptionHandler для вашего контроллера с помощью @ControllerAdvice.Переопределить метод handleHttpMessageNotReadable.

@ControllerAdvice
@Log4j2
public class ExceptionHandler extends ResponseEntityExceptionHandler {

  @Override
  protected ResponseEntity<Object> handleHttpMessageNotReadable(HttpMessageNotReadableException exception,
      HttpHeaders headers, HttpStatus status, WebRequest request) {
    // log the error and return whatever you want to
  }

}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...