1

たとえば、顧客サプライヤーを公開し、それぞれに連絡先が関連付けられている REST サービスを作成しています

次の場所にルーティングできるようにしたい:

  • /連絡先
  • /contacts/{id}
  • /suppliers/{supplierId}/contacts
  • /suppliers/{supplierId}/contacts/{id}
  • /customers/{customerId}/contacts
  • /customers/{customerId}/contacts/{id}

私は簡単に追加できることを知っています:

[Route("/contacts", "GET")]
[Route("/contacts/{id}", "GET")]
[Route("/{Entity}/{EntityId}/contacts", "GET")]
[Route("/{Entity}/{EntityId}/contacts/{id}", "GET")]
Class ContactsRequest :IReturn<ContactsResponse>{
...
}

しかし、たとえば、「より深い」ルートの最後にある可能性のある連絡先サービスを使用できるようにしたいと考えています。

  • /sales/leads/{leadId}/referers/customers/{customerId}/contacts
  • /sales/leads/{leadId}/referers/customers/{customerId}/contacts/{id}

この API を restangular で使用する予定です。アプリのどこからでも API をドリルダウンできるようにしたいと考えています。助言がありますか?

4

1 に答える 1

1

読んだ後: http://info.apigee.com/Portals/62317/docs/web%20api.pdf

現在、関係は複雑になる可能性があります。飼い主は獣医師と関係があり、犬と関係があり、食べ物と関係があります。これらをつなぎ合わせて 5 ~ 6 レベルの深さの URL を作成する人を目にすることは珍しくありません。1 つのレベルの主キーを取得したら、特定のオブジェクトを既に取得しているため、通常は上記のレベルを含める必要はありません。言い換えれば、 URL が /resource/identifier/resourceの上にあるものよりも深い場合はあまり必要ないはずです。

基本的に私が求めていたデザインは悪い習慣です...

于 2013-11-11T08:23:34.690 に答える