所以这里是这个方法现在的样子:
POST person/personId/edit
https://api.example.com/*key*/person/*personId*/edit?FName=Blah
我希望这将 personId 中的人的名字更改为 Blah。
如果我需要添加一个人,我会说:
PUT person/create
https://api.example.com/*key*/person/create
它将添加一个具有新 personId 的人。
一般约定通常是:
GET => READ
POST => CREATE
DELETE => DELETE
PUT => UPDATE
我可以看到的一个区别是您还使用了不同的 URI,最常用的是单个资源 URI。但是,无论如何,这是有争议的,所以这是你喜欢它的问题。
我对 POST 和 PUT 的解释一直是:
POST - 服务器将收到一个实体,它可以用来执行操作或创建资源。如果端点的意图是创建一个资源,那么 POST 将始终创建一个 NEW 资源。在任何情况下,每个 POST 都会被处理而不考虑资源的状态。您只是将信息发布到服务器以供其操作。
例子:
PUT - 服务器将接收一个实体(例如,带有一个 ID),目的是创建或替换一个资源。如果资源已经存在,则将其替换为请求中的资源,否则将创建一个新资源。在所有情况下,服务器上都会保留一些内容。必须提供某种唯一标识实体的方法。换句话说,客户端是创建 ID 的人,因为如果需要创建实体,将使用它。我认识的大多数人都在与这个现实斗争。
例子: