Создание REST‑интерфейса для управления книгами: настройка маршрутов

Задайте @RequestMapping("/api/books") на контроллере. Методы коллекции: GET и POST; методы конкретной книги: GET, PUT и DELETE по /{id}.

Короткий ответ

Что ответить на собеседовании

Задайте @RequestMapping("/api/books") на контроллере. Методы коллекции: GET и POST; методы конкретной книги: GET, PUT и DELETE по /{id}.

Подробный разбор

Ответ с пояснениями

Условие

В проекте присутствует Spring‑контроллер BookController, отвечающий за операции с книгами. Требуется:

  • Определить базовый путь /api/books для всех методов контроллера;

  • Сконфигурировать отдельные эндпоинты в соответствии с REST‑конвенциями:

    • Получить список всех книг – HTTP GET;
    • Получить книгу по её идентификатору – HTTP GET с параметром ID;
    • Добавить новую книгу – HTTP POST;
    • Обновить существующую запись книги – HTTP PUT;
    • Удалить книгу – HTTP DELETE. Необходимо соблюдать принятые в REST наименования путей и методы HTTP.

Ответ

Задайте @RequestMapping("/api/books") на контроллере. Методы коллекции: GET и POST; методы конкретной книги: GET, PUT и DELETE по /{id}.

Разметка методов:

@GetMapping             // GET /api/books
@GetMapping("/{id}")    // GET /api/books/{id}
@PostMapping            // POST /api/books
@PutMapping("/{id}")    // PUT /api/books/{id}
@DeleteMapping("/{id}") // DELETE /api/books/{id}

Это отдельные аннотации для пяти разных методов, не набор над одним методом. ID связывается через @PathVariable, данные создания/изменения — через @RequestBody и валидацию. POST обычно возвращает 201 с Location, отсутствующий ресурс — 404, успешное удаление без тела — 204. PUT подразумевает замену; для частичного изменения удобнее PATCH.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее