特定のデータセットに対して階層的なURI構造があります。
/Blackboard/Requirement/{reqID}/Risk/{riskId}/MitigationPlan/{planId}
URLがさまざまなIDで分割されている場合は、その特定のリソースを取得できます。例:
GET: /Blackboard/Requirement/2/Risk/2
これにより、要件#2に関連付けられたリスク#2が取得されます
問題はこれです。必要な機能は、同じHTTPリクエスト内の一連の要件を更新(PUT)および削除(DELETE)できるようにすることです。(URLに対してHTTP GETを実行すると、要件の「セット」全体がGET可能になり/Blackboard
ます。これは、比喩的に何かが黒板に書き込まれるため、デフォルトの機能です)
したがって、次のようにPUT/DELETEのみをサポートする新しいコレクションリソースURLを作成する必要があります。
/Blackboard/Requirements : HTTP PUT/DELETE
(複数形に注意してください)
または実際に既存のURL構造を複数形にします
/Blackboard/Requirements/{reqID}/Risk/{riskId}/MitigationPlan/{planId}
後者は、階層内の他の項目が特異であるため、意味の統一性を損なうようです。私も複数形にすべきですか?
アイテムIDを持つことは、(人間の観点から:)のように単数形を明確にするのに役立ちますか、Blackboard/Requirements/1
または純粋に運用上の理由で別のリソース(つまりコレクション)を公開することが望ましいですか(単数形であるかどうかに関係なく、GETはIDなしでは許可されないため)複数)?
明確でクリーンな設計のために、どのアプローチが一般的に選択されているか(またはそれを行う正しい方法であるか)についてのコミュニティの意見を知りたかっただけです。