Относительно использования 204 No Content
, в соответствии со спецификацией, вы вернете это (или 200
), когда POST
создаст ресурс, который не идентифицирован URI.Если это правильно описывает ваш вариант использования, тогда будет уместным 204
.
Как указывает @Dmitry в своем комментарии, возвращаемая сущность не обязательно должна быть новым ресурсом.Например, если идентификатор ресурса назначен сервером, ответом может быть объект, содержащий только этот идентификатор, сгенерированный сервером.
Конкретный пример этого показан в документации CouchDB для POST .
Для этого примера запроса:
POST /somedatabase/ HTTP/1.0
Content-Length: 245
Content-Type: application/json
{
"Subject":"I like Plankton",
"Author":"Rusty",
"PostedDate":"2006-08-15T17:30:12-04:00",
"Tags":["plankton", "baseball", "decisions"],
"Body":"I decided today that I don't like baseball. I like plankton."
}
ответом сервера будет объект, содержащий статус, идентификатор и версию:
HTTP/1.1 201 Created
Date: Thu, 17 Aug 2006 05:39:28 +0000GMT
Content-Type: application/json
Connection: close
{"ok":true, "id":"123BAC", "rev":"946B7D1C"}