Установка сообщения с кодом состояния HTTP ResponseCode, генерируемого исключением @ResponseCode, аннотацией - PullRequest
0 голосов
/ 26 сентября 2011

В настоящее время я пытаюсь установить сообщение с кодом статуса HTTP, генерируемым аннотированным исключением @ResponseCode. Я определил исключение:

@ResponseStatus(value = HttpStatus.BAD_REQUEST)
public final class BadRequestException extends IllegalArgumentException {
/**
 * The serial version UID.
 */
private static final long   serialVersionUID    = -6121234578480284282L;

public BadRequestException() {
    super();
}

public BadRequestException(String message, Throwable cause) {
    super(message, cause);
}

public BadRequestException(String message) {
    super(message);
}

public BadRequestException(Throwable cause) {
    super(cause);
}

}

Если выброшено исключение, я снова выбрасываю его в своем методе аннотации @ExceptionHandler:

@ExceptionHandler(RuntimeException.class)
public String handleRuntimeException(Exception e, HttpSession session) {
        if (e instanceof BadRequestException) {
            throw (BadRequestException)e;
        }
        return FAILURE;
    }

Я обычно выкидываю это исключение следующим образом:

if (result.hasErrors()) {
  throw new BadRequestException("Bad Request Message.");
}

Код состояния HTTP всегда возвращает только «HTTP Status 400 -» без установленного сообщения.

THX!

1 Ответ

1 голос
/ 27 сентября 2011

Аннотируйте ваш обработчик исключений с помощью @ResponseStatus.Затем создал базовое представление об ошибке / исключении и передал трассировку стека исключений или что-то еще этому представлению

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