/ api / set/idまたは/api/ set / archived /を使用して正常にGETできますが、PUTが機能していません。私のルート:
routes.MapHttpRoute(
name: "SetId",
routeTemplate: "api/set/{id}",
defaults: new { controller = "Set", action = "getset" }
);
routes.MapHttpRoute(
name: "Set",
routeTemplate: "api/set/{action}/{id}",
defaults: new { controller = "Set", id = RouteParameter.Optional }
);
コントローラーの設定:
[HttpPut]
[AcceptVerbs("PUT")]
[ActionName("update")]
public HttpResponseMessage PutSet(Set set)
{
...
}
フィドラーでは、対応するGETリクエストから生のオブジェクトを次のようにPUTしています。
http://localhost:24144/api/set/update
しかし、私は得る
"{" $ id ":" 1 "、" Message ":"要求されたリソースはhttpメソッド'PUT'をサポートしていません。"}"
PUTが機能しないのはなぜですか?
編集:私はまた、その最初のルートをオプションとしてIDを持つように更新しようとし、PUTメソッドのアクション名を削除しました。次に、PUT / api / setを介してアクセスしようとしましたが、同じ405エラーが発生します-PUTはサポートされていません。