ASP.NET 5中的路由前缀

时间:2016-04-16 07:14:51

标签: c# asp.net

我有一个名为BeconsController的控制器,它有一个简单的get Action。使用路线:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "Default",
        template: "{controller}/{action}/{id?}");
});

路由很好,http://locahost/beacons/5(其中5是id)解析为正确的操作。但是,我希望这会成为'api'的道路。我原以为这可以写成:

app.UseMvc(routes =>
{
    routes.MapRoute(
        name: "Default",
        template: "api/{controller}/{action}/{id?}");
});

但是当我将浏览器指向http://locahost/api/beacons/5时,我收到了404。事实上,旧路径仍然有效:http://locahost/beacons/5带我到页面!

这应该很简单。我做错了什么?

1 个答案:

答案 0 :(得分:0)

您是仅使用此路线还是路线对象中有多条路线?如果你有几个,它将采取与之匹配的第一条路线。

也许以下链接可以帮助您: http://aspnetmvc.readthedocs.org/projects/mvc/en/latest/migration/migratingfromwebapi2.html http://docs.asp.net/en/latest/fundamentals/routing.html?highlight=routes