我使用Visual Studio创建了一个API,并删除了所有我不想使用的内容。一切都很好,直到现在。现在我正在尝试更改API的默认路由,但它不起作用。我想调用localhost,我希望我的API重定向到QueryController。更改时默认路由不工作
我RouteConfig.cs是这样的:
routes.MapRoute (
name: "Default",
url: "{controller}/{action}/{id}",
defaults: new { controller = "Query", action = "Get", id = UrlParameter.Optional }
);
我QueryController.cs是这样的:
public class QueryController: ApiController
{
public ResultRecord Get ([FromUri] RequestRecord request)
{
...
}
}
我的Global.asax:
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
GlobalConfiguration.Configure (WebApiConfig.Register);
FilterConfig.RegisterGlobalFilters (GlobalFilters.Filters);
RouteConfig.RegisterRoutes (RouteTable.Routes);
}
当我打电话本地主机:port/api /查询它工作正常。但是,如果我只运行localhost:port,它永远不会到达QueryController。任何想法为什么?我读过一些其他线程,但我无法改变这一点。
你有Global.asax这行代码吗? 'GlobalConfiguration.Configure(WebApiConfig.Register);' – MacakM
在你的url中:“{controller}/{action}/{id}”你缺少'api',这不是问题吗? – MacakM
@MacakM我注意到了。其实改变我的WebApiConfig.cs后,它工作正常=) – Crasher