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

HTTP Method - POST vs. PATCH or PUT - When User Is Not Going to Update Anything Actually

有时用户不会向服务器发送数据来更新资源,但资源会由服务器自动更新。我认为最好的例子是停用配置文件。我描述下面的例子。

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

如果您通过此操作在您的系统中执行 "soft delete",您可以使用 HTTP DELETE。 url 将保持为 /users/{u_id} 并且您可以使用 Http 状态 204 无内容进行响应,这意味着服务器执行了操作并且不需要在响应正文中发送任何内容。

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