REST API设计 - 与GET不同的POST

时间:2015-04-02 09:22:31

标签: rest

我正在设计REST API,其中我有以下资源行为:

为了创建资源,应该发送初始数据,这仅与创建相关。

这意味着,GET资源表示与POST资源表示不同。

示例:

POST

/api/customers

Request body:

{
    "name": "John",
    "surname": "Doe",
    "creation_specific_data": "data"
}

GET

/api/customers/1

Response body:

{
    "id": 1,
    "name": "John",
    "surname": "Doe"
}

因此,正如您所见,GET上的数据总是偏离创建时的数据。

根据我的理解,可以在POST中提供较少的属性,并在GET时提供更多数据(例如服务器自动生成 id )。 问题是,反过来也可以接受吗?在POST上提供更多数据,并在GET上收到更少的数据?

1 个答案:

答案 0 :(得分:1)

您使用POST执行的任何操作都是可以接受的,只要它不复制已经通过其他方法标准化的功能 - 例如使用POST进行简单检索而不是GET - 并妥善记录。