2011-01-12 11 views
0

ASP.NET MVCアプリケーションでは、このASP.NET MVC属性ベースのルートマッパーを使用したいと考えています(最初はhere)。メソッドの属性を使用したASP.NET MVCルーティングGETとPOSTの比較

これを使用して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); 
} 
+0

POSTルートのテスト中にPOSTを実行してもよろしいですか? – Restuta

+0

はい。 100%確実。 –

+0

もう1つの質問:GETメソッドとPOSTメソッドには異なるルート名があります。あなたのPOSTは 'List'ではなく' Send'になると確信していますか? – TheRightChoyce

答えて

1

おかげで私を助けるため@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); 
} 
関連する問題