哪个http方法更新单个属性

时间:2019-03-06 18:00:38

标签: rest api

我想设计一个http路由,该路由将电话号码设置为当前经过身份验证的用户的主要电话号码。

您能建议使用正确的http方法和路由吗?

我在 GET / auth / phones / {phone_id} / main PATCH / auth / phones / {phone_id} 与对象{main:true}之间犹豫不决身体上的要求。

设置新的主电话时,旧的主电话将自动取消设置。

3 个答案:

答案 0 :(得分:3)

根据Mozilla Foundation,PATCH是将部分更新应用于记录的正确方法。

https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/PATCH中阅读更多内容

答案 1 :(得分:3)

假设/auth/phones/{phone_id}代表已验证用户的特定电话号码,我将执行以下操作:

PATCH /auth/phones/{phone_id}
Content-Type: application/json

{
    "main":true
}

HTTP方法GET不应用于修改资源状态。

答案 2 :(得分:1)

通常,您不想通过GET方法修改数据。您应该考虑的选项是POST / PUT / PATCH。一种典型的方法是:

  • POST:创建一个新实体或子实体
  • PUT:用请求中提供的值替换现有实体
  • PATCH:部分更新现有实体