Spring MVC
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 участвуют в его работе.