Веб-слой принимает HTTP-запросы и превращает их в вызовы сервисов: маршрутизация, преобразование JSON, валидация, обработка ошибок, фильтры. Понимание пути запроса через DispatcherServlet помогает отлаживать «почему не вызвался мой контроллер».
Веб-слой
Spring MVC, сервлеты и фильтры, REST-контроллеры, валидация и обработка ошибок.
Темы этапа
- Spring MVC и REST-контроллеры Основа
Путь запроса через DispatcherServlet, контроллеры, преобразование JSON, фильтры и перехватчики.
- Валидация и обработка ошибок Основа
Bean Validation, @ControllerAdvice и единый формат ошибок.
Вопросы с собеседований
Смотреть всеКакая аннотация объединяет @Controller и @ResponseBody, чтобы методы возвращали данные прямо в тело ответа?Junior
@RestController = @Controller + @ResponseBody: возвращаемое значение каждого метода сериализуется в тело ответа (обычно JSON через Jackson), а не трактуется как имя представления.
Полный разборКак в Spring Boot 3 возвращать ошибки REST API в едином формате?Middle
@RestControllerAdvice с @ExceptionHandler централизует обработку, а ответ — ProblemDetail (стандарт RFC 9457, application/problem+json): type, title, status, detail, instance и свои поля.
Полный разборЧем HTTP GET отличается от POST?Junior
GET — получить ресурс: безопасный (не меняет состояние) и идемпотентный, параметры в URL, ответ кэшируется. POST — отправить данные на обработку или создать ресурс: не идемпотентный, данные в теле.
Полный разборЧто такое Post/Redirect/Get и как сделать его в Spring MVC?Middle
PRG: после успешного POST сервер отвечает редиректом на GET-страницу результата. Обновление страницы повторит безопасный GET, а не POST — заказ не создастся дважды.
Полный разборЧем ответы 401, 403 и 404 отличаются и что возвращать на запрос чужого ресурса?Junior
401 Unauthorized — личность не установлена: нет токена или он неверный. 403 Forbidden — личность известна, но прав нет. 404 Not Found — ресурс не найден.
Полный разборЧем REST отличается от SOAP?Middle
REST — архитектурный стиль поверх HTTP: ресурсы, методы, обычно JSON, кэширование, простота. SOAP — протокол обмена XML-сообщениями со строгим контрактом WSDL, стандартами безопасности и транзакций (WS-).
Полный разборРазборы темы
- REST API: статусы, согласование и семантика
Ресурсы и HTTP-глаголы, статус-коды как контракт, content negotiation и message converters, идемпотентность и версионирование.
- Spring MVC: DispatcherServlet и обработка запроса
Конвейер обработки запроса, @Controller против @RestController, маппинги, извлечение данных и контроль ответа.
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.