Web API无法使用基于约定的路由

时间:2017-02-10 00:08:21

标签: routing asp.net-core-webapi

我有一个在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可以使一切正常。

1 个答案:

答案 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" };
  }
}