我有一个 WebApi 控制器
[RoutePrefix("api/invitations")]
public class InvitationsApiController : ApiController
和一个动作方法:
[Route]
[HttpPost]
public IHttpActionResult Create([FromBody] CreateCommand command)
当我尝试 POST 到http://host/api/invitations时,我得到一个““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的工作。我的控制器在请求“root”时工作得非常完美。
有关 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
有什么建议可能是错的吗?