У меня есть приложение ASP.NET Web API 2, которое использует маршрутизацию на основе соглашений:
[app-url]/v1/[controller]
Теперь я хочу добавить еще одну версию в API и обнаружил, что маршрутизация атрибутов является самым простым способом.добиться того, чего я хочу.Поэтому я зарегистрировал маршруты Web API в методе Application_Start()
, как показано ниже.
GlobalConfiguration.Configure(WebApiConfig.Register);
Кроме того, я убедился, что метод Register()
в классе WebApiConfig
содержит только следующую строку:
config.MapHttpAttributeRoutes();
Существует два контроллера для проверки версий:
/ v1 / StatusController.cs
[RoutePrefix("v1/status")]
public class StatusController : ApiController
{
[Route("")]
public string Get()
{
return "V1 - OK";
}
}
/ v2 / StatusController.cs
[RoutePrefix("v2/status")]
public class StatusController : ApiController
{
[Route("")]
public string Get()
{
return "V2 - OK";
}
}
Однако при переходе к одному из указанных ниже маршрутов я получаю сообщение об ошибке.
- [app-url] / v1 / status
- [app-url] / v2 / status
ОШИБКА СЕРВЕРА
404 - Файл или каталог не найдены.
Возможно, искомый ресурс был удален, изменилось его имя или временно недоступен.