smalldoc
的上一個版本是2.3.1
,2.3.2
在2019-10月就開始操刀了,但是由於兩個原因2.3.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 - 修復了
TypeVariable
是TypeArgument
時無法解析的錯誤,如下格式修復
#15@RequestMapping("test") public Result<PageResult<List<TestBean>>> test(String s);
- 升級UI至antdV4,修復了組件渲染bug,大幅度提高了渲染速度
增強
; - 修復了UI在渲染返回參數列表時,循環應用造成的堆棧溢出
修復
; #15 - 修復了由於後端JSON庫默認開啓了循環引用檢測造成的數據錯誤
修復
; #15 - 增加了集合參數(
Set
,List
)使用方式斷言(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>