【发布时间】:2017-04-14 01:10:53
【问题描述】:
假设我将一些 API 设置为微服务。一种 API 是管理用户(用户 API),看起来像:
/users GET, POST
/{id} GET, PUT, DELETE
然后还有另一个 API 用于管理安全信息(访问角色、权限等),在用户 API 中创建的 user 可以分配到安全 API 中定义的 group。该关联应该在安全微服务中还是在用户微服务中进行?
我最初的想法是在安全微服务中,因为所有应用程序都会从那里请求安全信息。这样一来,user 只能分配给一个group,然后我想出端点:
/users/{id}/group GET, POST, DELETE
但那个端点感觉更像是属于用户微服务。可以选择的其他端点是:
/groups/{id}/users GET, POST, DELETE
/{id} GET, DELETE
但这使得user 似乎可以分配给多个组。但是,我可以对其进行设计,以便当 user 与 group 关联时,它会将其与之前关联的 group 解除关联。
什么是最好的选择,或者有更好的方法来处理我不知道的这些类型的 api 调用?
【问题讨论】:
标签: rest microservices api-design