Я собрал API, который отвечает на POST-запрос, помещая содержимое нового ресурса в тело ответа и URL-адрес нового ресурса в HTTP-заголовок ответа Location.
Пример запроса:
POST /api/v1/widgets HTTP/1.1
Content-type: application/json;
Accept: application/json;
{
"name": "hugo@example.com",
"price": "10",
}
Пример ответа:
HTTP 201 Created
Location: http://example.com/api/v1/widgets/123456
{
'widget':
{
'id': "123456",
'created': "2012-06-22T12:43:37+0100",
'name': "hugo@example.com",
'price': "10",
},
}
Кто-то поднял вопрос о том, что URL-адрес также должен быть в теле ответа. Есть ли лучшая практика в этом отношении?