Spring MVC

Проработать

  1. Spring WebFlux: Реактивное программирование веб-сервисов
  2. Spring Webflux - Почему он такой быстрый?
  3. Spring Boot Rest API | Полный курс

Как она работает

DispatcherServlet - главный контроллер который принимает все сообщения и отправляет их выбирая из @RequestMapping.

Spring MVC зависимости(spring-webmvc) - содержит в себе зависимости:

Быстрый старт

Быстрый старт

ExceptionHandler

ExceptionHandler - для обрабатывать исключения на уровне отдельного контроллера.

HandlerExceptionResolver - является общим интерфейсом для обработчиков исключений в Spring.

Validation Controller

Header

Для удобства валидации необходимо принимать параметры в String и Int значениях. И уже после валидации мапить в нужные классы. Если мы используем подключенные классы, то ошибка при маппинг сразу попадёт в хендлер и мы не сможем ее описать. И с несколькими параметрами которые возвращают один exception, не понятно какой объектов кинул исключение и в хендлере будет сложно обработать exception.

@RequestHeader - для проверки headers на наличие. При отсутствии будет кинуто исключение MissingRequestHeaderException.

Не нужна проверка хедера на null - значение хедера не может быть null.