零侵入文档生成及API测试工具smalldoc-2.4发布!

434 阅读3分钟

smalldoc的上一个版本是2.3.12.3.2在2019-10月就开始操刀了,但是由于两个原因2.3.2未及时交付——

  1. 有老人去世,回老家守孝
  2. 在新版的UI实现中,遇到了AntdV3在设计最初就存在的一个bug,导致这段代码的实现遇到阻碍,但是又不想放弃预想的UI效果,强迫症之下,,虽然本职是一个后端开发,还是去看了AntdV3的源码,实现了自己的解决方案,并由此写下一篇总结《Ant-design Table组件当滚动列的行高变化时,固定列的行高不会同步变化,或固定列变化滚动列不变,造成布局破坏。》,但毕竟不是从源码层面进行的复写,所以在渲染速度上存在缺陷——当数据量较大,会出现肉眼可见的卡顿。不过幸运的是,在我实现解决方案的后两天,AntdV4的第一个可用版本antd-4.0.0-rc.0就发布了,从主要commiter的知乎专栏了解到,antdV4推翻了antdV3原本的设计,重新实现了代码,从根本上解决了诸如此类的bug,大幅度提高了antd组件的渲染速度,从而使smalldoc的UI界面得到可观改善!

于是由于2.3.2版本的迟迟未交付,作者干脆一鼓作气,根据issues中支持者提到的诸多问题及建议对smalldoc做了一次全面升级,发布了如今的smalldoc-2.4,更新日志如下。。。

更新日志

  • 更强大的参数配置语法,使接口文档展示更人性化增强#8
  • 增加了基于包的完全限定名或package-info中的注释信息选择文档的菜单栏功能增强#7
  • 对UNIX系统做了兼容,例如Mac OS(为此,作者专门买了本Mac 😂)增强#7
  • 增加了接口参数示例值推断增强#14
  • 集成了API测试功能增强#14
  • 可配置的解析类名,支持正则匹配增强#9
  • 优化了返回参数实体内集合字段的展示效果增强#15
  • 修复了TypeVariableTypeArgument时无法解析的错误,如下格式修复 #15
     @RequestMapping("test")
     public Result<PageResult<List<TestBean>>> test(String s);
    
  • 升级UI至antdV4,修复了组件渲染bug,大幅度提高了渲染速度增强
  • 修复了UI在渲染返回参数列表时,循环应用造成的堆栈溢出修复#15
  • 修复了由于后端JSON库默认开启了循环引用检测造成的数据错误修复#15
  • 增加了集合参数(SetList)使用方式断言(1.集合参数不能是实体参数;2.集合参数需要结合注解@RequestParam,如下的正确使用方式)增强 #15
     @RequestMapping("test")
     public Result<Long> test(@RequestParam List<String> ss);
    
  • 删除了不合理的执行逻辑(比如,直接以实体集合作为接口方法的入参,如下的错误使用方式)增强 #15
    @RequestMapping("test")
    public Result<Long> test(List<TestBean> testBeans);
    
  • 显式的重置UI组件的state,减少由于React差分算法造成的不期望的渲染效果增强
  • 修改了数据渲染方式(参考今日头条文章,既保证前后端分离,又保证SEO,可生成离线文档);

使用方式

<dependency>
    <groupId>com.github.liuhuagui</groupId>
    <artifactId>smalldoc-spring-boot-starter</artifactId>
    <version>2.4</version>
</dependency>