2012-06-21 8 views
7

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

基本的に、私はのようなURLを使用してPOSTにブログの記事にコメントをしたい:

~/posts/2/comments

私はまた、DELETE送信できるようにしたいと、次の

~/posts/2/comments/5からPUTs

私のルート登録はどうすればいいですか?私のPostsControllerの私の署名はどのように見えますか?

ありがとうございます!

答えて

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は、しかし、あなたが合う

関連する問題