Swagger在WebAPI下的使用

时间:2021-10-31 04:21:43

前段时间想对所做的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使用心得上有更好见解的,请转告一下

Swagger在WebAPI下的使用