2012-06-21 87 views
7

我正在使用mvc webapi創建一個REST API並努力尋找一個處理POST來嵌套資源的示例。使用asp webapi發佈嵌套資源

基本上,我想POST使用URL喜歡博客文章評論:

~/posts/2/comments

我也想能夠發送DELETE和PUTs以下

~/posts/2/comments/5

我的路線註冊應該是什麼樣子,我的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但是您認爲合適的