WebApi を含めるために更新しようとしている MVC プロジェクトがあります。必要なルートを取得するために、AttributeRouting を使用しています。405 を返す [PUT] を除いて、すべての呼び出しは正しくルーティングされているようです。コントローラーとアクションを単純化しましたが、[HttpPut] も含めない限り、[PUT] でエラーが発生します。何が欠けているのかわからない。
[RoutePrefix("api/Sites")]
public class SitesController : BaseApiController
{
[POST("")]
public bool CreateSite(SiteSignupArgs args)
{
...
}
[GET("Statuses")]
public IList<SiteAuditViewModel> GetStatuses()
{
...
}
[PUT("Statuses/{siteId}")]
[HttpPut] // This is required or 405 is returned
public HttpResponseMessage UpdateStatus(string siteId, UpdateStatusArgs args)
{
...
}
[DELETE("Statuses/{siteId}")]
public HttpResponseMessage Delete(string siteId)
{
return Request.CreateResponse(HttpStatusCode.OK);
}
}
バージョン 3.5.6 の AttributeRouting.Core、AttributeRouting.Core.Http、AttributeRouting.Core.Web、AttributeRouting.WebApi
MVC4
WebDAV がインストールされていません。