You*_*jae 5 c# asp.net-web-api
参考官方的ASP.NET属性路由文档,似乎Route没有使用属性RoutePrefix.
但是,在我的webapi控制器中,发生了以下情况.
1.不工作 (错误:找不到匹配的http路由)
public class GroupController : ApiController
{
[Route("api/group/{id}/register")]
public IHttpActionResult Post(int id, InputModel model)
{
return Ok();
}
}
Run Code Online (Sandbox Code Playgroud)
2.运作良好.
[RoutePrefix("api/group")]
public class GroupController : ApiController
{
[Route("{id}/register")]
public IHttpActionResult Post(int id, InputModel model)
{
return Ok();
}
}
Run Code Online (Sandbox Code Playgroud)
是否Route应该使用属性RoutePrefix,或者我错过了什么?
另外,下面的代码是WebApiConfig.Register类中的WebApi路由配置.
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}/{subId}",
defaults: new { id = RouteParameter.Optional, subId = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)