IT轮子系列(三)——如何显示方法名——Swagger的使用(三)
2024-10-14 07:18:38
前言
在上一篇文章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文档中看到方法名拉。如下图:
最新文章
- [bzoj3224][tyvj1728][普通平衡树] (pb_ds库自带红黑树)
- Java多线程之CountDownLatch学习
- 文件处理命令:awk
- 启动WCF多个服务方法
- 20150626_Andriod_02_ListView2_列表与详细信息
- Lucene的Vint类型详解
- NPOI导出Excel示例
- HTML5要点(四)对象全整理
- selenium2.0的初步封装(java版本)
- Java基础知识强化33:String类之String类的获取功能
- Spring AOP应用实例demo
- 高性能PHP论坛 Carbon Forum
- 基于visual Studio2013解决C语言竞赛题之1028平均值
- hdu4431 Mahjong
- 11 款最好 CSS 框架
- python标准数据类型
- SmartCode 正式开源,不只是代码生成器!
- Linux&#160;解决Linux下火狐浏览器中文乱码成方块显示问题
- HDU - 1272 小希的迷宫(并查集判断环)
- 小米note开启调试模式
热门文章
- Android 5.1.1 源码目录结构
- Android的actionBar的菜单使用-android学习之旅(四十三)
- UNIX网络编程——套接字选项(心跳检测、绑定地址复用)
- SQL Sever2005卸载问题解决措施
- Android学习之Animation(一)
- 并发编程(三): 使用C++11实现无锁stack(lock-free stack)
- UNIX环境高级编程——UNIX基础知识
- (NO.00002)iOS游戏精灵战争雏形(三)
- HTML5 移动开发入门知识点
- python的exec