在更新restapi时,我正在考虑两种方法,我不确定如何选择要遵循的方法
例如
GET /service/1000
{
"service_id": 1000,
"name": "Some service"
"status": "ACTIVE"
}
现在,如果我想更新这个服务,我可以做
PUT /service/1000
{
"service_id": 1000,
"name": "Some service"
"status": "INACTIVE"
}
或
POST /service/1000/update-status
{
"status": "INACTIVE"
}
甚至
POST /service/1000/activate
{
}
POST /service/1000/deactivate
{
}
编辑
这个问题不是关于何时使用POST/PATCH/PUT,而是关于应该更新调用同一个资源的资源,还是应该使用一个操作来更新它。例如,twitter使用动作
https://developer.twitter.com/en/docs/api-reference-index