mit*_*med 13 c# asp.net-web-api attributerouting
如果我使用Route属性装饰这个web api控制器,我可以点击该方法
[Route("api/v{version}/bank-accounts")]
public class BankAccountsController : ApiController
{
[HttpGet]
public HttpResponseMessage GetBankAccounts()
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
但是如果我使用RoutePrefix而不能让它工作,除非我同时使用Route("")
[RoutePrefix("api/v{version}/bank-accounts")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("")]
public HttpResponseMessage GetBankAccounts()
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)
这是打算,还是我弄乱了?
谢谢
你错过了......路由前缀就是前缀.您应该将路径模板的一部分移动到路由属性.像这样.
[RoutePrefix("api/v{version}")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("bank-accounts")]
public HttpResponseMessage GetBankAccounts(string version)
{
//...
}
}
Run Code Online (Sandbox Code Playgroud)