Я прочитал много тем о маршрутах для API в ядре Asp.net, но не могу заставить его работать.
Во-первых, это мой контроллер:
Public class BXLogsController : Controller
{
//[HttpGet("api/[controller]/ID/{id}", Name = "GetL")]
public IActionResult GetById(string id)
{
if (id.Trim() == "")
return BadRequest();
else
{
Logs l = AccessBase.AccBase.GetLog(id);
return Json(l);
}
}
//[HttpGet("api/[controller]/API/{apiname}", Name = "GetLAPI")]
public IActionResult GetByAPI(string apiname)
{
if (apiname.Trim() == "")
return BadRequest();
else
{
List<Logs> lstLogs = AccessBase.AccBase.GetLogsApi(apiname);
return Json(lstLogs);
}
}
}
Я пытался использовать HttpGetAttribute
с путем (см. Комментарий), но это не работает.
Поэтому я хочу использовать подход MapRoute
но это тоже не работает.
app.UseMvc(routes =>
{
routes.MapRoute(
name: "LogsId",
template: "api/[controller]/ID/{id}",
defaults: new { controller = "BXLogs", action = "GetById" });
routes.MapRoute(
name: "LogsAPI",
template: "api/[controller]/API/{apiname}",
defaults: new { controller = "BXLogs", action = "GetByAPI" });
});
Должно быть, я что-то забыл, но ничего не вижу.
Кто-нибудь может мне помочь?