ASP.NET MVC路由通过方法属性GET与POST

时间:2011-01-12 21:38:44

标签: c# asp.net-mvc post routing url-routing

在我的ASP.NET MVC应用程序中,我想使用这个基于ASP.NET MVC属性的Route Mapper,首先宣布here

我正在尝试使用这个做一个RESTful API,我不明白如何区分Get vs. post。

找到了GET,但是当我尝试POST时,路线没有映射,我得到了404.请告知。

参见代码:

[HttpGet]
[Url("organizations/{organizationId?}/alerts/", Order = 1)]
public JsonResult List(Guid? organizationId) {
    ...
    return Json(data, JsonRequestBehavior.AllowGet);
}

[HttpPost]
[Url("organizations/{organizationId?}/alerts/", Order = 2)]
public JsonResult Send(Guid? organizationId, string message) {
    ...
    return Json(data, JsonRequestBehavior.AllowGet);
 }

1 个答案:

答案 0 :(得分:1)

感谢@Thechoyce帮助我。只需将发送操作重命名为“List”即可解决问题。它们需要两者都相同才能超载。

[HttpGet]
[Url("organizations/{organizationId?}/alerts/", Order = 1)]
public JsonResult List(Guid? organizationId) {
    ...
    return Json(data, JsonRequestBehavior.AllowGet);
}

[HttpPost]
[Url("organizations/{organizationId?}/alerts/", Order = 2)]
public JsonResult List(Guid? organizationId, string message) {
    ...
    return Json(data, JsonRequestBehavior.AllowGet);
 }