[RoutePrefix("Office")]
public class OfficeController : ApiController
{
[Route("~/Admin/{adid}")]
public string GetAdminById(int adid)
{
return string.Format("Enter value is {0}", adid);
}
[Route("~/User/{uid}")]
public string GetUserByName(int uid)
{
return string.Format("Enter value is {0}", uid);
}
}
但是在
下面会生成帮助GET api/Office?adminid={adid}
GET api/Office?userid={uid}
但我不是
GET Office/Admin/adid
GET Office/User/uid
为此,我为webapi.config
config.Routes.MapHttpRoute(
name: "OfficeadminApi",
routeTemplate: "api/{controller}/Admin/{adid}",
defaults: new { **adid** = RouteParameter.Optional }
);
然后 2个签名由web api帮助生成
GET api/Office?adid={adid}
GET api/Office/Admin/{adid} // I expected is generated but
如果在webapi.config中没有添加&f; f路由,那么属性路由的用途是什么?
根据属性路由,它应该生成在属性级别指定的路由。
请详细说明这个吗?