Внутри моего приложения, похоже, есть проблема с моим маршрутом.Я не могу определить, почему маршрут потерпит неудачу.Решение содержит контроллер, производный от [ApiController]
для соблюдения стандартов Web Api.
Area > > > Devices > > > Sampler (Controller)
/api/Devices/Sampler/GetSamples/1
{area:exists}/{controller}/{action}/{id?}
Мое представление о том, что шаблон третьей строки будет коррелировать, представляя первую и вторую строку при использовании MapAreaRoute
.
application.UseMvc(routes =>
{
routes.MapAreaRoute(
name: "Device Route",
areaName: "Devices",
template: "api/{area:exists}/{controller}/{action}/{id?}
);
}
Даже если я удаляю api
из шаблона, укажите область, контроллер и действие, которое я все еще получаю 404.
[ApiController]
[Area("Devices")]
[Route("api/[controller]")]
public class SamplerController : ControllerBase
{
[HttpGet("{id}")]
public JsonResult GetSamples(Guid id) => new JsonResult("...");
}
Может кто-нибудь уточнить, почему эта областьне работа?Если я создаю каталог с именем Controllers, то использую MapRoute
с тем же кодом, что и выше, маршрут работает так, как задумано.