新しいASP.NetMVC4ベータ版を自分のマシンにインストールし、WebAPIがどのように機能するかを理解しようとしています。単一のコレクション(本など)のデモを作成しました。asp.netWebサイトの例に従いました。コレクションに投稿するための独自の方法を実装しました。つまり、新しい本の追加、すべての本の取得、特定の本の取得、本の更新、および本のレコードの削除です。これはすべて正常に機能します。
元:
POST /books - adds a new book
GET /books - gets all books
GET /books/1 - get a particular book
PUT /books/1 - update a particular book
DELETE /books/1 - delete a particular book
次に、本のコレクション内に別のコレクションを追加します。たとえば、著者の場合、新しいコレクションに対して同じPOST、PUT、GET、およびDELETEの呼び出しを実装します。
新しい呼び出しを次のようにします。
POST /books/1/authors - add a new author to a book
GET /books/1/authors - gets all authors of a book
GET /books/1/authors/a@a.com - get a particular author for a book
PUT /books/1/authors/a@a.com - update a particular author for a book
DLETE /books/1/authors/a@a.com - delete a particular author for a book
この呼び出しを機能させるためのルートを追加する方法がわかりません。デフォルトでは、プロジェクトでこのルートを取得します。
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
コレクションとそれらの間の関連付けのために、このパターンでルートを処理する正しい方法は何ですか?