7

私は mvc webapi を使用して REST API を作成しており、ネストされたリソースへの POST を処理する例を見つけるのに苦労しています。

POST基本的に、次のような URL を使用してブログ投稿にコメントしたいと思います。

~/posts/2/comments

PUTsまた、DELETE を次の宛先に送信できるようにしたいと考えています。

~/posts/2/comments/5

私のルート登録はどのように見えるべきで、私のメソッド署名はどのように見えるべきPostsControllerですか?

ありがとう!

4

1 に答える 1

9

ネストされたリソースについては、アクセスしたいコントローラー/アクション用に非常に具体的なルートを作成することをお勧めします。

routes.MapHttpRoute(
    name: "Posts Routes",
    routeTemplate: "api/posts/{postId}/comments/{commentID}",
    defaults: new { controller = "Posts", action="CommentsForPosts" }
);

public HttpResponseMessage CommentsForPosts(int postId, int commentID) {
    //go to work
}

ネストされたリソースのフレームワークには規則はありませんが、ルーティングにより、コントローラー、メソッド、および URI を柔軟にマッピングできます。

于 2012-06-22T04:30:40.043 に答える