Как обрабатывать ошибки и исключения проверки в контроллере RESTful Spring MVC? - PullRequest
5 голосов
/ 12 февраля 2012

Например, как обрабатывать ошибки проверки и возможные исключения в этом методе действия контроллера:

@RequestMapping(method = POST)
@ResponseBody
public FooDto create(@Valid FooDTO fooDto, BindingResult bindingResult) {
    if (bindingResult.hasErrors()) {
        return null; // what to do here?
                     // how to let the client know something has gone wrong?
    } else {
        fooDao.insertFoo(fooDto); // What to do if an exception gets thrown here?
                                  // What to send back to the client?
        return fooDto;
    }
}

Ответы [ 2 ]

14 голосов
/ 12 февраля 2012

Создайте исключение, если у вас есть ошибка, и затем используйте @ExceptionHandler, чтобы аннотировать другой метод , который затем обработает исключение и выдаст соответствующий ответ.

5 голосов
/ 18 мая 2015
@RequestMapping(method = POST)
@ResponseBody
public FooDto create(@Valid FooDTO fooDto) {
//Do my business logic here
    return fooDto;

}

Создать обработчик исключений:

@ExceptionHandler( MethodArgumentNotValidException.class)
@ResponseBody
@ResponseStatus(value = org.springframework.http.HttpStatus.BAD_REQUEST)
protected CustomExceptionResponse handleDMSRESTException(MethodArgumentNotValidException objException)
{

    return formatException(objException);
}

Я не знаю, правильный ли это подход, которому я следую.Буду признателен, если вы расскажете, что вы сделали для этой проблемы.

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