7

我正在使用 mvc webapi 创建一个 REST API 并努力寻找一个处理 POST 到嵌套资源的示例。

基本上,我想POST使用如下 URL 对博客文章发表评论:

~/posts/2/comments

我还希望能够发送 DELETE 和PUTs以下内容

~/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 回答