字符串“con”有什么问题?
好的,我的 api 路由配置比较无趣:
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
LocationController 有以下方法:
public List<LocationViewModel> Get(string id)
{
return _ds.SearchLocations(id);
}
一切正常,除了当我尝试获取这样的资源时出现 HTTP 404 错误:
/api/位置/con
在这种情况下,该方法不会被命中。奇怪的是,如果我将“con”以外的任何其他字符串设置为 id 参数,控制器方法就会被命中并正常工作!
当我使用 Cassini 在 localhost 上调试我的应用程序时发生这种情况(与 IIS Express 相同)。我的项目目录中没有名为“con”的文件。处理应用程序错误事件后,IntelliTrace 显示 HttpException 并显示消息:“无法映射路径 '/api/location/con'”...
有什么线索吗?这是一个已知的错误?
提前致谢!