Как обработать JSR303 действительным с ошибкой SpringMVC ErrorHandler, чтобы вернуть пользовательское исключение? - PullRequest
0 голосов
/ 26 декабря 2018

когда я использую jsr303 для @RequestParam, как это:

@RequestParam("page") @Min(value = 1) int page

, когда используется недопустимый параметр, он всегда отвечает мне, например:

{
    "timestamp": "2018-12-26T08:43:19.798+0000",
    "status": 500,
    "error": "Internal Server Error",
    "message": "getUserInfo.page: must be greater than or equal to 1",
    "path": "/users"
}

, но я хочу, чтобы мой пользовательский ответисключение, используя ControllerAdvice

@ControllerAdvice
public class ExceptionAdvice {

@ExceptionHandler({ JSR-303Exception.class })
@ResponseBody
public String handleArrayIndexOutOfBoundsException(Exception e) {
    e.printStackTrace();
    return "testArrayIndexOutOfBoundsException";
}

и сделайте ответ следующим образом:

{
    "errMsg": "page must lager than 0"
}

, но я не знаю, какой класс исключений выдает @min.

правильный способ решить мою проблему или есть лучшее решение?

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