假设我有一些API设置为微服务。一个API是管理用户(用户API),看起来像:多个API的类似端点
/users GET, POST
/{id} GET, PUT, DELETE
再有就是用于管理安全信息(访问角色,权限等)另一个API和user
在用户创建API可以分配在安全API中定义的group
。是否应该在安全微服务或用户微服务中进行关联?
我最初的想法是在安全微服务中,因为那是所有应用程序都会从中请求安全信息的地方。就这样,和一个user
只能分配给一个group
,我再拿出的终点:
/users/{id}/group GET, POST, DELETE
但该端点感觉就像它属于更在用户微服。其他端点是一种选择是:
/groups/{id}/users GET, POST, DELETE
/{id} GET, DELETE
但是,这则使得它看起来是一个user
可能被分配到多个组。但是,我可以设计它,以便当user
与group
相关联时,它将它与之前与之关联的group
解除关联。
什么是最佳选择,还是有更好的方法来处理这些类型的API调用,我不知道?