Swagger-diff使用
Sayi/Swagger官方文档
sayi/Swagger-diff的github地址
sayi/Swagger-diff的官方文档
github拉下来代码之后 打.jar包
由于下载下来的Java项目需要达成jar包运行.json代码,打jar包需要maven环境的支持。
maven安装方式:
windows10 64bit 选择 Binary zip archive
apache-maven-3.6.1-bin.zip
然后根据自己需求进行安装就可以
maven常用命令
mvn compile //编译源代码
mvn test-complie //编译测试代码
mvn test //运行测试
mvn package // 打包 根据pom.xml打成war或者jar
mvn -Dtest package //打包但不测试。完整命令为:mvn -D maven.test.skip=true package
mvn install //在本地Repository中安装jar
mvn clean //清除产生的项目
mvn eclipse:eclipse //生成eclipse项目
mvn idea:idea //生成idea项目
mvn eclipse:clean //清除eclipse的一些系统设置
mvn dependency:sources //下载源码
mvn compile -pl auth/auth-web -am //只针对特定模块进行编译检查的方法
jar包形成的方式 需要安装maven 执行命令:
mvn package
对比执行方式
$ java -jar swagger-diff.jar \
>-old swagger.json \
>-new swagger16.json \
>--output > diff.html
执行模板:
$ java -jar swagger-diff.jar --help
Usage: java -jar swagger-diff.jar [options]
Options:
* -old //顾名思义,就是拿来对比的原始json文件(上一版本保存下来的json)
old api-doc location:Json file path or Http url
* -new //新版本的json文件地址
new api-doc location:Json file path or Http url
-v
swagger version:1.0 or 2.0
Default: 2.0
-output-mode
//输出格式可选内容,如果代码中支持swagger-ui的情况下可以使用mode
render mode: markdown or html
Default: markdown
--help
--version //可选项,可写可不写,如果有其他版本,建议写上
swagger-diff tool version
工作流程
但是因为一些代码问题,输出的结果是这样的,后面的乱码很是恼人,不过前面的接口以及一些信息还是能够正常查看的
【JavaScript】swagger-diff
试一下另一个JavaScript写的swagger-diff
安装
npm install swagger-diff
其实这个安装下来之后发现并不能够正常正常使用,但是GitHub上介绍时可以这样用的啊???
然后换了一种方式
git clone 代码下来看下什么原因?
Configuration
//In the configuration file (default: .swagger-diff), you can customize the level of log you want for type of changes.
//好像是说需要再这个配置文件。swagger-diff 中自定义更改类别所需的日志级别,
{
"changes": {
"breaks": 3,
"smooths": 2
}
}
It's also possible to define different level of logs according to version change.
这边儿说也可以根据版本不同定义不同级别的日志
{
"changes": {
"breaks": {
"major": 2,
"minor": 3,
"patch": 3,
"unchanged": 3
},
"smooths": {
"major": 0,
"minor": 1,
"patch": 2,
"unchanged": 3
}
}
}
//Levels of log
这个就是对应级别所代表的意思啦
3-error
2-warning
1-info
0-ignore
You can also configure specific level of logs for some rules.
这边还可以为某些规则配置特定级别日志,感觉好像还是蛮自主化吼。
{
"rules": {
"delete-path": 0,
"add-path": {
"major": 2,
"minor": 3,
"patch": 3,
"unchanged": 3
}
}
}
这段命令是在【JavaScript】swagger-diff 启动命令
./bin/swagger-diff.js ./swagger.json ./swagger15.json
再拿来试下,哦哟出了
结果
虽然看上去没有java那个高大上,但是结果一目了然,还是不错的。