假設我有一些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調用,我不知道?