Маршрутизация ASP.NET MVC через атрибуты метода GET против POST - PullRequest
0 голосов
/ 13 января 2011

В моем приложении ASP.NET MVC я хочу использовать этот сопоставитель маршрутов на основе атрибутов ASP.NET MVC, впервые объявленный здесь .

Я пытаюсь создать RESTful API, используяэто, и я не понимаю, как отличить от получить против поста.

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 Ответ

1 голос
/ 13 января 2011

Спасибо @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);
 }
...