Swagger-diff 接口对比工具

Swagger-diff Json对比工具

使用场景

  • 用于swagger文档不同版本之间进行JSON字符串对比,可输出html文件,且可追溯到每个变动的接口

效果如下:
在这里插入图片描述
注意前端弹窗html时可能因为样式影响显示效果,故要么直接修改此html自带的css文件并打包到本地或者直接新增样式如:

<style>
.test .POST {
  box-sizing: content-box !important;
}
.test {
  text-align: left;
}
.test .article {
  margin-top: 0px;
}
</style>

配置及使用

依赖

<dependency>
  <groupId>com.deepoove</groupId>
  <artifactId>swagger-diff</artifactId>
  <version>1.2.2</version>
</dependency>

示例

后端业务数据准备

	   Regular regular1 = regularService.getOne(new QueryWrapper<Regular>().select().eq("project_id", project.getProjectId())
               .eq("version", srcVersion));
       Regular regular2 = regularService.getOne(new QueryWrapper<Regular>().select().eq("project_id", project.getProjectId())
               .eq("version", targetVersion));

       if (regular1 == null || regular2 == null) {
           return Result.error(103, "版本数据可能为空,请联系管理员");
       }
       //参数为swagger解析后的两个JSON字符串
       SwaggerDiff diff = SwaggerDiff.compareV2Raw(regular1.getRegularDetail(), regular2.getRegularDetail());

       Date date = new Date(System.currentTimeMillis());
       String compareTime = DateUtil.format(date, DateUtil.YCHAR_06);
       //修改、删除、新增接口的数据都存放在各自的list
       List<ChangedEndpoint> changeList = diff.getChangedEndpoints();
       List<Endpoint> missList = diff.getMissingEndpoints();
       List<Endpoint> newList = diff.getNewEndpoints();

为前端显示做数据准备

		//设置title及样式
		html = new HtmlRender("对比结果预览",
		        	"http://deepoove.com/swagger-diff/stylesheets/demo.css")
		        	.render(diff);
		//转译后可能导致显示出错,具体问题具体对待
		html = html.replace("\\\"", "\"");
		list.add(html);
		list.add(compareId);

前端安装node_modules

//cnpm更快
cnpm install swagger-diff

Swagger-diff git地址

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
Swagger UI是一个可以可视化API资源并与之交互的工具,无需实现任何逻辑。它可以根据OpenAPI规范自动生成可视化文档,简化后端实现和客户端使用。你可以通过访问Swagger UI的界面来浏览和测试API接口Swagger UI可以在任何开发环境中使用,无论是本地还是在Web端中。它具有人性化的设计,允许开发人员轻松地进行交互,并尝试API公开的每个操作,以方便使用。此外,Swagger UI还具有易于浏览的特点,文档归类整齐,可以快速查找和使用资源和端点。它在所有主要浏览器中都可使用,并且可以根据需要进行完全定制。Swagger UI支持Swagger 2.0或OAS 3.0中定义的API。你可以通过访问Swagger UI的中文版地址来体验它的功能。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* [swagger-ui教程 构建api接口文档工具](https://blog.csdn.net/machihaoyu/article/details/78475699)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [Swagger UI简介](https://blog.csdn.net/zhanshixiang/article/details/104605292)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值