Как заставить контроллеры Controller и ApiController работать в одном проекте, если я удалю api / level для контроллеров ApiController - PullRequest
0 голосов
/ 02 августа 2020

В проекте webapi do tnet (not core, 4.7.2) я удалил api / level в WebApiConfig.Register (), потому что я не хотел иметь этот дополнительный уровень в путях URL.

config.Routes.MapHttpRoute(
    name: "DefaultApi",
    //routeTemplate: "api/{controller}/{id}",
    routeTemplate: "{controller}/{id}",
    defaults: new { id = RouteParameter.Optional });

Мне нужно добавить один контроллер MVC (5) (не контроллер веб-API), скажем, Утилиты.

Теперь, когда я пытаюсь использовать этот контроллер (https://localhost : 44392 / Utilities), я получаю эту ошибку:

{
    "Message": "No HTTP resource was found that matches the request URI 'https://localhost:44392/Utilities'.",
    "MessageDetail": "No type was found that matches the controller named 'Utilities'."
}

Я потратил несколько часов, пытаясь «поиграть» с маршрутами, но не нашел способа заставить работать классы контроллеров ApiController и Controller » все вместе". Если я верну api / level, все, конечно, будет работать, но я бы предпочел не включать этот дополнительный уровень в URL.

Возможно ли это по крайней мере?

...