C# 在.net web api属性路由中,在控制器级别使用路由而不是RoutePrefix
如果我用Route属性装饰这个webapi控制器,我可以点击这个方法C# 在.net web api属性路由中,在控制器级别使用路由而不是RoutePrefix,c#,asp.net-web-api,attributerouting,C#,Asp.net Web Api,Attributerouting,如果我用Route属性装饰这个webapi控制器,我可以点击这个方法 [Route("api/v{version}/bank-accounts")] public class BankAccountsController : ApiController { [HttpGet] public HttpResponseMessage GetBankAccounts() { //... } } 但如果我改用RoutePrefix,除非同时使用Route
[Route("api/v{version}/bank-accounts")]
public class BankAccountsController : ApiController
{
[HttpGet]
public HttpResponseMessage GetBankAccounts()
{
//...
}
}
但如果我改用RoutePrefix,除非同时使用Route(“”),否则我无法让它工作
这是故意的,还是我把事情搞砸了
谢谢对,这是一种预期行为
RoutePrefix
属性本身不会将任何路由添加到路由表中,其中asroute
属性会 你错过了。。。路由前缀,就是,一个前缀。应将部分路径模板移动到“路线”属性。像这样
[RoutePrefix("api/v{version}")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("bank-accounts")]
public HttpResponseMessage GetBankAccounts(string version)
{
//...
}
}
[RoutePrefix("api/v{version}")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("bank-accounts")]
public HttpResponseMessage GetBankAccounts(string version)
{
//...
}
}