Выбор ответа Junior Spring MVC и REST обновлено

Статус для создания ресурса

Вопрос

Какой ответ правильнее вернуть на успешный POST /api/orders, создавший заказ?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: 201 Created и Location. Для создания ресурса стандартный ответ 201 и Location, в Spring это ResponseEntity.created(uri).body(dto).

Варианты ответа

  1. 200 OK без тела
  2. 204 No Content
  3. 201 Created и Locationправильный ответ
  4. 302 Found на список заказов

Разбор

Для создания ресурса стандартный ответ 201 и Location, в Spring это ResponseEntity.created(uri).body(dto). 200 допустим, но менее точен. 204 означает «успешно, тела нет», для создания он теряет ссылку на ресурс. Редирект нужен браузерным формам, а не REST API.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.