HTTP方法 - POST与PATCH或PUT - 当用户不打算实际更新任何内容时

时间:2017-03-05 15:16:15

标签: rest http post api-design http-method

有时用户不会将数据发送到服务器以更新资源,但服务器会自动更新资源。我认为最好的例子是停用个人资料。我描述了下面的例子。

示例:用户正在尝试停用其个人资料,因此他调用/users/{u_id}/deactivate URI。在此示例中,用户实际上不会更新任何内容,但服务器将更新已停用的列。在这种情况下,合适的HTTP方法是什么?

1 个答案:

答案 0 :(得分:2)

如果您通过此操作在系统中执行“软删除”,则可以使用HTTP DELETE。该网址将保留为/users/{u_id},您可以使用Http状态204无内容进行响应,这意味着服务器执行了操作,无需在响应正文中发送任何内容。

如果是更新用户的单个属性并且调用系统正在提供该值的情况,则PATCH会更有意义。但由于这是服务器将帐户标记为非活动状态;我会选择DELETE