最佳答案
所以这里没有什么新东西,我只是想澄清一下,似乎在其他帖子中找不到任何东西。
我正在创建一个新的资源,结果,说:
/books (POST)
有身体的:
{
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
我知道我应该返回一个201(已创建)与新资源的Location头:
Location: /books/12345
我自己似乎无法回答的问题是服务器应该在主体中返回什么。
我经常做这样的回答:
{
id: 12345,
title: 'The Lion, the Witch and the Wardrobe',
author: 'C. S. Lewis'
}
我这么做有几个原因:
现在我知道我真的处于灰色地带,但大多数人都说返回整个资源是“坏”的做法。但是如果服务器更改/向资源添加信息呢?它肯定添加了id,但也可能添加其他东西,比如时间戳。在我不返回整个资源的情况下,是否真的更好做一个POST,返回id,然后让客户端执行一个GET来获得新资源。