私は WebApi コントローラーを持っています
[RoutePrefix("api/invitations")]
public class InvitationsApiController : ApiController
そしてアクションメソッド:
[Route]
[HttpPost]
public IHttpActionResult Create([FromBody] CreateCommand command)
http://host/api/invitationsに POST しようとすると、""405 Method Not Allowed" というメッセージが表示されます</p>
しかし、次のような別のルートを使用すると:
[Route("test")]
[HttpPost]
public IHttpActionResult Create([FromBody] CreateCommand command)
WebApiConfig.cs
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
SetupFormatters(config);
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional });
}
そして、 http://host/api/invitations/testに POST を送信して、その動作をテストします。「ルート」を要求するときに完璧に機能するコントローラーがあります。
HTTP エラーの詳細:
HTTP エラー 405.0 - メソッドは許可されていません 無効なメソッド (HTTP 動詞) が使用されているため、お探しのページを表示できません。
Detailed Error Information:
Module DefaultDocumentModule
Notification ExecuteRequestHandler
Handler StaticFile Error
Code 0x80070001
Requested URL http://localhost:8008/api/invitations
Physical Path <removed>
Logon Method Anonymous
Logon User Anonymous
何が間違っている可能性がありますか?