Swagger-diff爬坑

本文详细介绍如何使用Sayi/Swagger-diff和zallek/swagger-diff对比API文档变化,包括安装配置、Maven打包及执行命令,对比结果一目了然。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Sayi/Swagger官方文档

sayi/Swagger-diff的github地址
sayi/Swagger-diff的官方文档

github拉下来代码之后 打.jar包

由于下载下来的Java项目需要达成jar包运行.json代码,打jar包需要maven环境的支持。

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

工作流程

OldURL
NewURL
OldSpec
newSpec
oldurl
SwaggerParer
newurl
MapDiff
ParameterDiff
PropertyDiff
EndpoinDiff
ModelDiff
SwaggerDiff
+newEndpoints
+missingEndpoints
-ChangeEndpoints
htmlRender
+renderSwaggerDiff:String

但是因为一些代码问题,输出的结果是这样的,后面的乱码很是恼人,不过前面的接口以及一些信息还是能够正常查看的
在这里插入图片描述

【JavaScript】swagger-diff

试一下另一个JavaScript写的swagger-diff

zallek/swagger-diff的github地址

安装

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那个高大上,但是结果一目了然,还是不错的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值