前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,swagger
就是一款让你更好的书写API文档的框架。
没有API文档工具之前,大家都是手写API文档的,在什么地方书写的都有,有在confluence
上写的,有在对应的项目目录下readme.md
上写的,每个公司都有每个公司的玩法,无所谓好坏。
书写API文档的工具有很多,但是能称之为“框架”的,估计也只有swagger
在此先介绍一款其他的API文档工具,叫rap
RAP
RAP
是由阿里开发的,整个阿里都在用,还不错。github地址为:https://github.com/thx/RAP
当然咯,rap
https://github.com/thx/RAP/wiki/deploy_manual_cn
swagger
rap
先看看swagger的生态使用图:
其中,红颜色的是swaggger
官网方推荐的。
下面再细看看swagger的生态的具体内容:
swagger-ui
这玩意儿从名字就能看出来,用来显示API文档的。和rap
不同的是,它不可以编辑。
swagger-editor
左边编辑,右边立马就显示出编辑内容来。
编辑swagger说明文件使用的是yaml
语法具体的内容可以去官网查看。
目前最流行的做法,就是在代码注释中写上swagger相关的注释,然后,利用小工具生成swagger.json或者swagger.yaml文件。
swagger-php
https://github.com/zircote/swagger-php
swagger-validator
docker hub地址为:https://hub.docker.com/r/swaggerapi/swagger-validator/
可以pull下镜像来自己玩玩。
swagger-codegen
有一定用处,Java系用的挺多。工业上应该不咋用。
mock server
这个目前还没有找到很合适的mock工具,包括rap也好,其他API文档工具也好,都做的不够完善,大多就是根据说明文件,例如swagger.json等生成一些死的静态的mock数据,不能够根据限定条件:例如“只能是数字,必传”等做出合理的回应。
C# 在webapi项目中配置Swagger
1、安装包 Swashbuckle
2、右键项目属性―>生成―>勾选XML文档文件
4、发现,安装完成后,写注释并没有在swagger页面上面增加,所以我们现在开开启注释
在SwaggerConfig类中,EnableSwagger的时候添加下面XML解析(默认是有的,只是注释掉了)
c.IncludeXmlComments(GetXmlCommentsPath());
并添加方法 即可


/// <summary> /// 添加XML解析 /// </summary> /// <returns></returns> private static string GetXmlCommentsPath() { return string.Format("{0}/bin/WebApi.XML", System.AppDomain.CurrentDomain.BaseDirectory); }
xml文档中也会自动写入注释
5、调试
更多参考: