带徒实训项目ApiFirst实战讲义:导出文档支持API分组校验

前一篇:带徒实训项目实战讲义分享:ApiFirst文档对比功能页面开发2

上一节咱实现了导出文档中数据模型属性列表的粗略渲染,对于某个API应用校验分组的情况下展示也指出了优化的方向,本小节咱就一起来实现这个目标吧,go!

渲染校验分组

在这里插入图片描述
ApiItemDTO中加一个方法来判断是否要渲染这一栏,这里要考虑校验分组对比后产生变更的情况。
在这里插入图片描述
编写模板:
在这里插入图片描述
看到效果:
在这里插入图片描述

过滤分组

在这里插入图片描述
首先优化下校验抽取的接口:
在这里插入图片描述
回顾下跟校验相关的DTO的类关系:
在这里插入图片描述
然后新加一个指定分组来获取合并后的校验项的接口方法:
在这里插入图片描述
调整下两个重载方法的实现:
在这里插入图片描述

关于工具类的使用
这里再次提醒学员,要善于使用工具,不要自己编写重复的代码,遇到不会写的代码要善于走捷径使用百度AI。
在这里插入图片描述

自己再写个main方法验证下,确保没问题:
在这里插入图片描述

实现过滤分组后的模板渲染

引入子模版时传入指定的分组:
在这里插入图片描述
在子模版中获取校验项时,调用接收分组的方法:
在这里插入图片描述
再来看效果,完美实现了!
在这里插入图片描述

校验项按照分组来对比代码fix

现在,咱们在数据库里加一条关于用户信息数据模型的realName属性的非空校验变更,比如就改下消息文字:
在这里插入图片描述
重新初始化下数据库的schema和插入数据。
重启服务,看页面,之前校验模板封装的对比功能生效:
在这里插入图片描述
但同时,咱们的暂存接口也被标色了,问题在于对比的核心功能实现并没有按api所应用的校验分组来抓取数据模型的校验项来对比。
在这里插入图片描述
我们可以定位到对比的核心代码:
在这里插入图片描述
这里的泛型T实际是DtoPropertyDTO类型,问题是怎么知道上层的api所指定的分组呢,怎么传入呢?咱们可以在对比上下文中设置当前正在对比的两个api项:
在这里插入图片描述
在被指定的api对比的命令对象的开始把两个对比的api项设置到对比上下文对象中:
在这里插入图片描述
这样,获取校验项列表的地方调整为:
在这里插入图片描述
新增重载方法:
在这里插入图片描述
新增实现:
在这里插入图片描述
最后,问题被完美fix!修改的分组校验,只要原来的分组不受影响,对比就没有变化:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Java小卷

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值