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