Right, this is an expected behavior... RoutePrefix
attribute by itself doesn't add any routes to the route table where as Route
attributes do...
Using Route instead of RoutePrefix at controller level in .net web api attribute routing
-
03-08-2022 - |
Frage
If I decorate this web api controller with the Route attribute I can hit the method
[Route("api/v{version}/bank-accounts")]
public class BankAccountsController : ApiController
{
[HttpGet]
public HttpResponseMessage GetBankAccounts()
{
//...
}
}
But if I use RoutePrefix instead I can't make it work unless at the same time I use Route("")
[RoutePrefix("api/v{version}/bank-accounts")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("")]
public HttpResponseMessage GetBankAccounts()
{
//...
}
}
Is this intended, or I'm messing things?
Thanks
Lösung
Andere Tipps
You are missing it... The route prefix, is just that, a prefix. You should move part of the path template to the route attribute. Like this.
[RoutePrefix("api/v{version}")]
public class BankAccountsController : ApiController
{
[HttpGet]
[Route("bank-accounts")]
public HttpResponseMessage GetBankAccounts(string version)
{
//...
}
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow