0

是否有 REST 规则或最佳实践来更新/创建资源的特定属性?例如说我有一个用户资源。

/users (GET) 获取所有用户,POST 创建一个新用户,然后将 /users/(id) 更新为具有该 ID 的用户。

假设我需要更新那个人的状态。我可以在 PUT 请求中传递它,但问题是我也想删除状态。通常使用 PUT 我只更新传递的值,即如果你输入 firstName=Bob 我会更新那个人的 firstName 但我不会删除他的 lastName 只是因为它没有被传递。以及我不会删除状态如果它没有通过。所以我需要一种删除状态的方法。

所以我认为地位只是另一种资源。但是一个非常简单的。

/users/(id)/status POST 创建新状态?我试图解决的问题是状态只是一个简单的名称,例如“离开”或“假期”。/users/(id)/status 使用 status=away 的主体似乎很奇怪。即状态出现在 URL 和正文中,似乎是错误的。同样使用这种方法 POST 和 PUT 将是相同的。也许没关系。

我觉得我有一些简单的 REST 案例,但这个案例让我很难过。

4

1 回答 1

0

通常,如果您可以完整地描述它并且好像它是一个资源位置,那么您将使用 PUT 创建一个新资源。使用 POST(带数据)更新隐藏的资源的任何部分。由于状态不能识别资源,我认为您应该使用 POST。

添加示例:

POST /users HTTP/1.1
<user id="someID" >
  <status>newStatus</status>
</user>
于 2013-07-05T01:58:29.757 回答