前段时间想对所做的WebAPI加入文档功能,方便调用接口的同事查阅,上网了解到Swagger,在学习使用Swagger的时候,网上资料算是比较多,但个人认为能够详细说明白的比较少,思路都有说到,但具体的就没说,或没实例说明,让初学者容易搞错(我也走了好些弯路),现把自己查阅资料,并结合个人实际使用的结果,发上来,一来供有缘人参考,二来自己也有个笔记。
环境:VS2013、.NET Framework 4、Swagger5.5.3
一、新建WebAPI项目,利用NuGet安装Swagger
网上有人说要安装Swashbuckle和Swagger UI for .NET,可能是Swashbuckle的版本升级了,我后来发现只安装Swashbuckle即可
二、设置项目生成XML文档的位置
三、Swagger安装好后在App_Start下有SwaggerConfig.cs,修改它,设置读取项目的XML文档
到此,Swagger已可正常工作了,启动项目,在浏览器地址后加/Swagger,即可看到生成效果
Swagger的扩展(此功能参考整合网上的资料得出,如果相应网友有所冒犯,敬请原谅)
1、美化及汉化
新建一SwaggerExt文件夹,增加Swagger样式、脚本两个文件(具体看Demo),并都设置为嵌入的资源
修改SwaggerConfig.cs文件
启动项目,即可看到效果
二、增加控制器说明
增加CachingSwaggerProvider.cs文件,内容见Demo
修改SwaggerConfig.cs文件
启动效果
如果能把这个说明放左边,接着控制器名称,那就更好了,但我没找到办法,如果有网友有办法,麻烦转告一下
三、隐藏某接口说明
增加HiddenApiFilter.cs,内容见Demo
修改SwaggerConfig.cs文件
对要隐藏的接口加入[HiddenApi]
启动效果
到此,基本上对Swagger的使用已差不多了,附上我Demo的代码
如有对Swagger使用心得上有更好见解的,请转告一下