私はMVC 4のWeb APIを構築していますが、私は、要求がHTTPPost MVC 4 Web APIを
"The requested resource does not support http method 'POST'."
マイリクエストヘッダ
User-Agent: Fiddler
Host: localhost:53393
Content-Length: 39
Content-Type: application/json
私を返すWeb APIにポストをしようとするこれまでのときリクエストボディ
{
"username":"",
"password":""
}
ルート
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
routes.MapRoute(
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
);
}
そして、私のコントローラのメソッド
[HttpPost]
public MethodResponse Authenticate(string username, string password)
{
ConsoleServiceClient service = new ConsoleServiceClient();
return service.Authenticate(username, password);
}
私は
http://localhost:53393/api/service/authenticate
を使用するURL私はまだこれに新しいですが、POSTがサポートされていない理由を把握することはできませんか?あなたが現在お使いのAPIのルートで{アクション}セグメントを持っていないので、
おかげ
どのように投稿リクエストを作成しますか? – gdoron
私はそれをfiddlerでビルドして実行します – Armand
あなたのコントローラはServiceControllerと呼ばれていますか? –