同一miccroservice中多个资源的RESTful URL



我们正在开发一个无服务器应用程序(AWS API网关、Lambda和Dynamo(,将用户和组存储在同一个DynamoDB表中,并将其保持在同一微服务中。用户的REST端点如下所示:

/user/invites
/user/:userId/save
/user/:userId/activate

让组的端点看起来像是个好主意吗

/groups/
/groups/add/
groups/:groupId/remove
/group/:groupId/addUser/:userId

有不同的"端点"可以吗;基本";在同一个微服务中?

就像软件中的所有好答案一样,这取决于!

我的路由理论是询问需求:你能查找没有组ID的用户吗?你能在没有用户ID的情况下查找组吗?

如果其中一个的答案是"否";是";,那么这种资源应该有自己的路线。

将其与多租户系统进行比较,在多租户系统中,一个组织有许多小工具。小部件完全属于一个组织,所以您永远不会直接查询该小部件。

鉴于此,我们有:

/orgs/:orgId - get/put/post org info
/orgs/:orgId/widgets/:widgetID - get/put/post widget info

在您的示例中,考虑到组有许多用户,而用户有许多组(多对多关系(,我认为您提供的路由方案是正确的。

最新更新