通过方法属性的ASP.NET MVC路由GET与POST
问题描述:
在我的ASP.NET MVC应用程序中,我想使用这个ASP.NET MVC基于属性的路由映射器,首先宣布here。通过方法属性的ASP.NET MVC路由GET与POST
我想用这个做一个RESTful API,我不明白如何区分Get和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);
}
答
感谢@Thechoyce对我的帮助。只需将发送操作重命名为“列表”即可解决问题。他们需要两者相同才能超载。
[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);
}
您确定在测试POST路径时正在执行POST吗? – Restuta 2011-01-12 21:54:24