用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 的内容如下:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<script>
window.location = "swagger";
</script>
</head>
<body>
</body>
</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界面就可以看到接口注释了。