だが、私はここに1対多の関係を持っているとしましょうベストプラクティス:
各顧客あり、多くのクレジットカード。REST APIの1対多のリソース関係
やクレジットカードのための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.顧客のために
4.アップデート
5.顧客
マイAPIアーキテクチャレイヤリングのカードを削除」カードの顧客の詳細情報をカードを作成し、顧客
3のすべてのカードを取得コントローラ - >サービス - >リポジトリを使用します。
あります。
CustomersController、CustomersService、CustomersRepository、CardsService、CardsRepositoryです。私はカード関連業務のための各メソッドを置くべきで、どのようにコントローラ&サービス&リポジトリ層との関係は次のようにあるべき場所
私の質問は、ありますか?
現在、私はこのように考えています:
CustomersControllerにはCustomersServiceとCardsServiceがあります。 CardsServiceにはCustomersRepositoryとCardsRepositoryがあります(通常どおりコンストラクター経由で注入されます)。上記5つの方法はすべてCardsServiceにあります。 CardsServiceのCustomersRepositoryの目的は、私のDBからストライプの顧客IDを取得して、同じ操作をストライプでも実行できるようにすることです。
このアプローチは、ベストプラクティスに従って正しいですか?それとも、代わりにCustomersServiceに5つのメソッドを置いて、CardsServiceをまったく使用しないのですか?
これには最適な解決策はありますか?
追加情報:
- 私は決済プラットフォームに公開レストのAPIを1として