Я создаю веб-приложение с веб-интерфейсом, оба будут размещены в одном проекте.
Я уже заставил API работать, но так как все они будут в одном приложении, я хотел бы поместить все мои файлы APi, такие как контроллеры, модели и т. Д., В отдельную область.
Я добавил новую область с именем api, и она создала класс apiAreaRegistration со следующим кодом:
public override void RegisterArea(AreaRegistrationContext context)
{
context.MapRoute(
"api_default",
"api/{controller}/{action}/{id}",
new { action = "Index", id = UrlParameter.Optional }
);
}
Но в приложении уже был следующий код в WebApiConfig.cs:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
Если создать общий контроллер MVC в области API, я могу получить к нему доступ через / api / MyControlller / MyAction, но если я создаю ApiController, в области API, я получаю ошибку 404 при попытке доступаit.
Итак, мой вопрос: как я могу поместить свой api в эту отдельную область и получить к нему доступ через обычные вызовы api: / api / MyController / MyAction?