Выбор ответа Junior Spring MVC и REST обновлено
Статус для создания ресурса
Вопрос
Какой ответ правильнее вернуть на успешный POST /api/orders, создавший заказ?
Попробуйте сами
Выберите вариант, и откроется разбор.
Показать ответ и разбор
Коротко
Правильный ответ: 201 Created и Location. Для создания ресурса стандартный ответ 201 и Location, в Spring это ResponseEntity.created(uri).body(dto).
Варианты ответа
- 200 OK без тела
- 204 No Content
- 201 Created и Locationправильный ответ
- 302 Found на список заказов
Разбор
Для создания ресурса стандартный ответ 201 и Location, в Spring это ResponseEntity.created(uri).body(dto). 200 допустим, но менее точен. 204 означает «успешно, тела нет», для создания он теряет ссылку на ресурс. Редирект нужен браузерным формам, а не REST API.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.