开篇:对于WebApi研究不是很深,刚开始使用,记录自己的解决思路,有更好的处理方式或发现我对WebApi理解有不对的地方恳请指正,谢谢!

环境:WebAPI服务、HelpPage,API路由:“api/{controller}/{action}”,服务与helpPage运行正常,帮助文档页面所有API地址遵循路由格式

问题描述:当两个area下出现同名的controller/action时,生成的帮助文档页面API地址会一模一样,请求出错

解决思路:将路由定义为“api/{area}/{controller}/{action}”,已区分不同的area,但测试后发现HelpPage页面生成的API地址中“{area}”部分无法替换为正确的名称,尝试良久,终于解决,将解决过程列出如下:

1.WebApiConfig 修改api路由如下

1 config.Routes.MapHttpRoute(
2                 name: "DefaultApi",
3                 routeTemplate: "api/{area}/{controller}/{action}/{id}",
4                 defaults: new { id = RouteParameter.Optional }
5             );
Routes

相关文章: