前言

在上一篇文章IT轮子系列(三)——如何给返回类型添加注释——Swagger的使用(二) 介绍如何使用swashbuckle的时候忽略了一个问题,就是默认创建的API项目在生成文档的时候是没有显示方法名,只显示了控制器的名字。如下图:

User 控制器代码如下:

     public class UserController : BaseController
{
/// <summary>
/// 获取用户信息
/// </summary>
/// <param name="model">获取用户信息模型</param>
/// <returns></returns>
[HttpPost]
//添加方法修饰属性返回类型说明
[SwaggerResponse(HttpStatusCode.OK, Type = typeof(ResultInfo<UserInfo>))]
public HttpResponseMessage GetUserInfo([FromBody]GetUserInfoModel model)
{
ResultInfo<UserInfo> result = new ResultInfo<UserInfo>();
try
{
UserInfo user = new UserInfo();
user.Name = "Peter";
user.Phone = model.phone;
user.Email = "itwheels@163.com";
result.Data = user;
}
catch (Exception ex)
{
result.Status = "FAIL";
result.Msg = ex.Message;
} return toJson(result);
}
}

按照代码,我们想要的显示方法名GetUserInfo。今天在写另一篇API相关文章,才发现这个问题。经过一份琢磨,发现swashbuckle 是根据我们在路由配置WebApiConfig中的模版来生成的。如,默认的配置代码为:

  config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);

所以,按照这个配置生成的文档只显示了控制器的名字,却没有方法名。

解决方案

按照上面分析的思路,要在swagger文档中显示接口的方法名,只需修改路由模版就可以了。修改后的代码如下:

             config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{action}"
);

这样修改后,我们就可以在swagger文档中看到方法名拉。如下图:

最新文章

  1. [bzoj3224][tyvj1728][普通平衡树] (pb_ds库自带红黑树)
  2. Java多线程之CountDownLatch学习
  3. 文件处理命令:awk
  4. 启动WCF多个服务方法
  5. 20150626_Andriod_02_ListView2_列表与详细信息
  6. Lucene的Vint类型详解
  7. NPOI导出Excel示例
  8. HTML5要点(四)对象全整理
  9. selenium2.0的初步封装(java版本)
  10. Java基础知识强化33:String类之String类的获取功能
  11. Spring AOP应用实例demo
  12. 高性能PHP论坛 Carbon Forum
  13. 基于visual Studio2013解决C语言竞赛题之1028平均值
  14. hdu4431 Mahjong
  15. 11 款最好 CSS 框架
  16. python标准数据类型
  17. SmartCode 正式开源,不只是代码生成器!
  18. Linux&#160;解决Linux下火狐浏览器中文乱码成方块显示问题
  19. HDU - 1272 小希的迷宫(并查集判断环)
  20. 小米note开启调试模式

热门文章

  1. Android 5.1.1 源码目录结构
  2. Android的actionBar的菜单使用-android学习之旅(四十三)
  3. UNIX网络编程——套接字选项(心跳检测、绑定地址复用)
  4. SQL Sever2005卸载问题解决措施
  5. Android学习之Animation(一)
  6. 并发编程(三): 使用C++11实现无锁stack(lock-free stack)
  7. UNIX环境高级编程——UNIX基础知识
  8. (NO.00002)iOS游戏精灵战争雏形(三)
  9. HTML5 移动开发入门知识点
  10. python的exec