我有一个在ASP.NET Core 1.1中使用基于约定的路由的Web API。我在Configure
的{{1}}方法中有以下代码:
Startup.cs
我有另一个app.UseMvc(routes =>
{
routes.MapRoute(
name: "api",
template: "api/inventory",
defaults: new { controller = "Inventory" });
});
类,其中包含:
InventoryController.cs
我打算在致电public class InventoryController : Controller
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}
时收到["value1","value2"]
,但事实并非如此。我收到了404。我是ASP.NET的新手,已经尝试了几乎所有我能想到的东西,并且结束了。我在这里注意到使用api/inventory
可以使一切正常。
答案 0 :(得分:0)
你试过这样做吗
app.UseMvc(config => {
config.MapRoute(
name: "Default",
template: "{controller}/{action}/{id?}"
,defaults: new { controller="App", action="Index"}
);
});
你的班级看起来像
[Route("api/Inventory")]
public class InventoryController : Controller
{
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}
}