用swagger-ui来生成webapi接口文档并可以在线测试

用swagger-ui来生成webapi接口文档并可以在线测试


Swagger-UI简单而一目了然。它能够纯碎的基于html+javascript实现,只要稍微整合一下便能成为方便的API在线测试工具。项目的设计架构中一直提倡使用TDD(测试驱动)原则来开发,swagger-ui在这方面更是能提供很大帮助。 


Swagger-UI更倾向于在线测试接口和数据,但其核心是一个javascript插件,只要稍作修改,便能按需求定制出不同格式的说明文档,在github上更是基于它集成到各种语言环境,分支众多。 

其官方提供了一个离线版本,它的使用方法十分简单:直接在js格式的资源文件中录入REST API的json信息,便能容易地生成不同模块下的API列表,每个API接口描述和参数、请求方法都能在每个json数组中定制。下面是目前项目中使用到的部分预览图: 

在.net中使用


1.NuGet包安装

控制台安装
Install-Package Swashbuckle
也可以在管理器搜索安装

2.安装之后会在App_Start文件夹中添加SwaggerConfig.cs类

该类中的Register()方法会在应用程序启动的时候调用(会随系统一起启动,不用修改)


3.浏览地址:http://localhost:端口/swagger/ui/index.html 就可以看到了

index.html 的内容如下:




    
    
    




index.html放在根目录下即可

注:是要在根目录添加这个文件,再打开上面的地址即可,

如果不添加这个index.html 文件,在地址栏打开 http://localhost:端口/swagger 这个网址


4 所有api接口都可以在这里看到

从方法到参数,参数定义都很详细,更主要的是可以在线调试测试了。

注:这就是一个简单的应用,当然也可以通过修改SwaggerConfig.cs来适应自己的需求

5 如果要看到接口方法的注释,在SwaggerSconfig.cs 的Register()方法里,找到

//c.IncludeXmlComments(GetXmlCommentsPath());

把注释放开,加上这个方法

protected static string GetXmlCommentsPath()
        {
            return System.String.Format(@"{0}\App_Data\TestSwagger.XML", System.AppDomain.CurrentDomain.BaseDirectory);
        }

xml文件的生成要在项目属性-》生成里设置,默认路径是 /bin/***.xml,我这里该到了App_Data下了。这样的话在ui界面就可以看到接口注释了。

6 更多的说明可以看 https://github.com/domaindrivendev/Swashbuckle

你可能感兴趣的:(asp.net,web)