HTTP 201 Created
Успешный ответ при создании: новый ресурс теперь существует, а Location указывает, где именно.
Что означает HTTP 201
HTTP 201 Created возвращается, когда запрос — почти всегда POST или PUT — успешно создал новый ресурс на сервере. REST API используют его, чтобы отличить «теперь появилось что-то новое» от обычного успеха 200.
Корректный ответ 201 включает заголовок Location с URL только что созданного ресурса и часто дублирует созданный объект в теле ответа, чтобы клиенту не требовался дополнительный GET-запрос.
Частые причины ответов 201
- POST-запрос создал запись, файл или учётную запись.
- PUT-запрос создал ресурс по точному URL, указанному клиентом.
- Пакетный эндпоинт синхронно завершил создание одного основного ресурса.
Хорошие практики для разработчиков
- Установите заголовок Location на канонический URL нового ресурса.
- Верните созданное представление (с присвоенным сервером id) в теле ответа, чтобы избавить клиентов от дополнительного запроса.
- Если создание поставлено в очередь, а не завершено, вместо этого возвращайте 202 Accepted.
- Повторяющиеся идентичные POST-запросы создают дубликаты? Рассмотрите ключи идемпотентности и отвечайте 200/409 на повторы.
Пример ответа
HTTP/1.1 201 Created
Location: /api/users/1024
Content-Type: application/json
{"id":1024,"name":"New user"}Частые вопросы
В чём разница между 200 и 201?
Оба означают успех, но 201 конкретно сообщает клиенту, что создан новый ресурс. 200 просто означает, что запрос обработан.
Обязателен ли заголовок Location для 201?
Настоятельно рекомендуется: он указывает на URL только что созданного ресурса, чтобы клиенты могли получить его или сослаться на него.
Когда API должен возвращать 202 вместо 201?
Когда создание происходит асинхронно — 202 означает, что запрос принят, но ресурс ещё не существует.