比方說,我有一個一對多的關係,在這裏:
每個客戶有許多信用卡。REST API一個一對多的關係資源的最佳實踐
而對於信用卡的API端點:
GET /客戶/ {CUSTOMER_ID} /卡/ {card_id的}
GET /客戶/ {CUSTOMER_ID} /卡
POST /客戶/ {CUSTOMER_ID} /卡
PATCH /客戶/ {CUSTOMER_ID} /卡/ {} card_id的
DELETE /客戶/ {CUSTOMER_ID} /卡/ {} card_id的
5方法卡相關的操作:
1.獲取的卡客戶
2.獲取客戶
3的所有卡爲客戶創建一個卡
4.更新「卡」客戶的細節
5.刪除客戶
我的API架構分層的卡使用controller - > service - > repository。
有:
CustomersController,CustomersService,CustomersRepository,CardsService,CardsRepository。
我的問題是,我應該在哪裏將每個方法進行卡相關操作以及控制器&服務&庫層之間的關係應該如何?
目前我認爲這樣:
CustomersController有一個CustomersService和CardsService。 CardsService有一個CustomersRepository和CardsRepository(像往常一樣通過構造函數注入)。以上所有5種方法都在CardsService中。 CardsService中CustomersRepository的目的是從我的數據庫中檢索條帶客戶ID,這樣我就可以在條帶上執行相同的操作。
根據最佳實踐,此方法是否正確?或者我應該將5個方法放在CustomersService中,因此根本不使用CardsService?
什麼是最好的解決方案呢?
附加信息:
- 我使用PHP和Laravel框架,條紋作爲支付平臺