API应该返回已创建或更新的数据吗?

时间:2013-11-27 14:12:11

标签: json api

我正在制作我的第一个RESTful API,我对制作api时的最佳实践感兴趣,让我说我POST到我的端点/Document/来创建一个新的Document

服务器的首选响应是什么?

只提供表示请求成功的消息,或者表示请求成功的消息,这是已创建的信息?

例如:

{ message: 'Successfully created document' }

或者类似的东西:

{
  message: 'Successfully created document',
  data: {
      id: 123456,
      title: 'hello world',
      body: 'this is the body'
  }
}

我们可以使用状态代码而不是message来表明它是否成功(即第一个响应中为204,第二个响应中为200?)。

是否有首选方式来执行这些回复?后者似乎更像是“握手协议”,而第一个更像是“竖起大拇指”。

更新Document时会发生什么变化,是否有更多关于发回更新的object的参数,或者格式是否保持不变?

1 个答案:

答案 0 :(得分:1)

您应该返回状态代码201,这意味着:

201已创建:已完成请求并导致创建新资源。

我也想返回ID,因此客户端可以导航到创建的文档。

让客户端发送消息。客户端获取状态代码201并决定将显示哪条消息。

参考:http status codes