Spring MVC

Базовый Spring
≈ 2 мин чтения

Web-слой Spring: от HTTP-запроса до Java-кода

Spring Boot уже умеет запустить приложение и подготовить типичную инфраструктуру. Spring MVC добавляет web-слой: принимает HTTP-запросы, направляет их нужному коду, преобразует входные данные в Java-значения и формирует ответ клиенту. Вместо ручной работы с Servlet API большая часть типичных задач описывается аннотациями и обычными методами.

Этот раздел сосредоточен именно на обработке HTTP. Здесь мы свяжем URL и HTTP-методы с контроллерами, научимся получать данные запроса, возвращать тело ответа, проверять входные данные и централизованно обрабатывать ошибки.

Что будет внутри раздела

  • Основы Spring MVC. Соберём общую картину web-слоя и путь запроса через приложение.
  • DispatcherServlet. Разберём центральную точку, через которую Spring MVC координирует обработку запросов.
  • Controllers. Научимся выделять классы, которые принимают web-запросы и передают работу остальному приложению.
  • Request Mapping. Свяжем URL и HTTP-методы с конкретными методами контроллера.
  • Параметры запроса. Получим значения из query-параметров и переменных пути.
  • RequestBody и ResponseBody. Свяжем тело HTTP-запроса и ответа с Java-объектами.
  • REST Controllers. Соберём изученные механизмы в привычный REST-контроллер.
  • Валидация. Проверим входные данные до выполнения бизнес-логики.
  • Обработка исключений. Переведём ошибки приложения в предсказуемые HTTP-ответы.
  • Filters и Interceptors. Увидим два уровня перехвата запросов для общей инфраструктурной логики.
  • HttpMessageConverters. Поймём, какой механизм превращает тело HTTP-сообщения в Java-объект и обратно.

Темы идут по пути реального запроса: от входа в Spring MVC до аргументов контроллера и итогового HTTP-ответа. После раздела будет понятно не только как написать endpoint, но и какие части Spring MVC участвуют в его работе.