如何选择在REST中更新资源的方法

问题描述 投票:0回答:1

我正在考虑更新rest api的两种方法,我不知道如何选择遵循哪种方法

例如

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
{

}

所以我的问题是在选择如何更新REST的方法时要遵循的经验法则是什么?

编辑这个问题不是关于何时使用POST / PATCH / PUT,它是关于应该更新资源调用相同的资源,还是应该使用动作更新。例如,twitter使用动作https://developer.twitter.com/en/docs/api-reference-index

rest http post asp.net-web-api put
1个回答
0
投票

根据你的考虑,put更合适,但在某些情况下,patch更合适,所以当你改变你考虑使用patch的资源的价值时,但当你添加一个新的属性put更合适时看看--- REST API PATCH or PUT

© www.soinside.com 2019 - 2024. All rights reserved.