Настраиваемый контроллер пружинной загрузки для поддержки обработки исключений - PullRequest
0 голосов
/ 27 апреля 2018

У меня проблемы с перезаписью стандартного контроллера весенней загрузки. Причина должна быть в том, чтобы поддерживать настраиваемую обработку исключений, то есть публикацию с недопустимым объектом, обновление с недопустимым индексом, удаление с недопустимым индексом и т. Д.

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

  1. Добавление _links.self.href в каждый объект, хотя spring-hateoas может оказать мне услугу, но предстоит еще много работы.

  2. Поддержка подкачки и определения размера. Опять много работы.

Я начал задаваться вопросом, могут ли вышеуказанные два пункта остаться неизменными при обработке моей собственной исключительной ситуации .....

1 Ответ

0 голосов
/ 27 апреля 2018
@ControllerAdvice
public class CommonExceptionHandler {
    private Logger logger = getLogger(CommonExceptionHandler.class);

    @ExceptionHandler(HttpRequestMethodNotSupportedException.class)
    @ResponseStatus(HttpStatus.METHOD_NOT_ALLOWED)
    public String methodNotSupported(HttpRequestMethodNotSupportedException e) {
        logger.error("receive unsupported method: {}", e.getMessage());
        return "error";
    }
}

Не знаю, нужно ли вам это.
HttpRequestMethodNotSupportedException.class можно заменить любым Throwable классом или интерфейсом, даже самим Throwable.class, также вашим пользовательским исключением.
И после обработки исключения вы можете вернуть любой результат или представление (например, представление: /error page).

Дополнительная информация: https://spring.io/blog/2013/11/01/exception-handling-in-spring-mvc

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