RESTful API 设计中批准加入请求和创建成员的合适 http 方法?

我正在为小型项目设计 RESTful API。

在我的服务中,有 GroupUser。 当某些User想加入群组时,User可以向Group申请。在数据库中,Apply 行是用 status 列值“WAITING”创建的,所以我使用 POST 来进行分组。

那么创建 GroupGroup 的所有者可以是 approvereject

User 被批准时,Apply 行的状态值将更新为“已批准”并创建 Member 行。 (Member 表代表某些 Group 的成员)。 在这种情况下,使用哪种http方法来批准申请? PUT 还是 POST

据我所知,由于 Member 行是通过批准创建的,因此 POST 似乎是合适的。 但是,由于 Apply 行的值是同时更新的,PUT 可能已经足够了。

哪种http方法适合这种情况?

lxy1195 回答:RESTful API 设计中批准加入请求和创建成员的合适 http 方法?

您可以,而且几乎总是应该将 API 和数据库逻辑分开。您只需要基本的 CRUD 操作从来都不是那么简单。在您的情况下,如果资源是用户对群组的申请,那么您可以使用 POST 创建一个应用程序,正如您所写,因为这是创建一个新资源。在您的情况下,它是一个简单的插入,但在其他情况下,它可能意味着其他操作,包括更新甚至删除。但那是数据库层,从 API 的角度来看,这是一个 POST

当您批准或拒绝某个申请时,该资源再次成为用户对群组的申请,并且您对其进行更新,因此我会说这是 PUT 或 {{1} }.在数据库级别的幕后,这意味着插入一个新行,但从 API 的角度来看,这不是新资源,而是修改现有资源。

当然,如果您的资源是 PATCH,那么创建新成员肯定是 user-group membership

这完全由您决定,同样的问题可以有不同的解决方案。有很好的 REST API 指南可用,我建议阅读它们,搜索“rest api 最佳实践”。

本文链接:https://www.f2er.com/5159.html

大家都在问