ASP.NET MVC和REST URI

Nab*_*ilS 6 rest asp.net-mvc

我如何使用ASP.NET MVC的路由功能处理下面的uri:

http://localhost/users/{username}/bookmarks/ - GET
http://localhost/users/{username}/bookmark/{bookmarkid} - PUT
Run Code Online (Sandbox Code Playgroud)

其中列出了{username}中用户的书签.

谢谢

Tod*_*ith 5

您可以在action方法上使用[AcceptVerbs]属性

public class BookmarksController : Controller
{
    [AcceptVerbs(HttpVerbs.Get)]
    public void Bookmarks(string user)
    {

        //add your bookmark
    }

    [AcceptVerbs(HttpVerbs.Post)]
    public void Bookmarks(string user, int? id)
    {

        //add your bookmark
    }
}
Run Code Online (Sandbox Code Playgroud)


Pab*_*tyk 4

首先你需要在 global.aspx 中创建一个新路由

routes.MapRoute("Bookmarks", "{controller}/{user}/{action}/{id}");
Run Code Online (Sandbox Code Playgroud)

然后添加一个新动作

public class UsersController : Controller
{
    [AcceptVerbs("Post")]
    public void Bookmarks(string user, int? id)
    {

        //add your bookmark
    }
}
Run Code Online (Sandbox Code Playgroud)