Swagger生成了幾百兆的文檔
項目寫的太傻,龐大到生成了幾百兆的Swagger文檔。
通常,有個幾兆就到了忍受極限了,這直接爆出幾百兆。
問題源於這麼一篇文章:小技巧:SpringBoot項目如何讓前端開發提高效率?。其中提到使用swagger可以讓前端、後端、QA、產品互動起來,很多研發已經用了。但有些項目生成的文章忒TM大了(抱歉我控制不住),在讓這些項目愉快的go die之前,還是得想辦法處理呀。
介面減肥
第一就是過濾減肥。
看一下你的Controller里寫的是不是
@RequestMapping
這個註解將會生成7條api信息。
GET、HEAD、POST、PUT、DELETE、OPTIONS、PATCH
如果你能夠確定調用方法,比如GET,請將註解改成
@GetMapping
不要有循環引用
返回的實體,還有請求的參數,不要循環引用。請幹掉這些代碼,不要邋遢,設計一點乾淨的api。
轉線下
另一種思路就是把這些api都給搗鼓到線下,倒入到一個統一的地方進行管理。
這些也已經有很多產品了,比如Rap、Nei、YApi。
拿YApi來說(支持源碼搭建),可以輸入相應swagger的地址,進行一次導入,就可以將api定義轉到另一個平台了。
YApi還有許可權管理功能,應該是這裡面做的最Nice的了。如果你想要統一管理、內網隔離,推薦一試。好東西,就不多介紹了。
結尾
轉到線下雖然解決了因為api過大造成的服務不穩定,但api的更新同步會是另外一個問題。
不管採用何種方式,合理簡潔的api設計是首要的。調用方法固定,不循環引用,最重要的,記得分模塊哦。


※手機商對「鴻蒙」進行了密集測試:比安卓系統快?
※使用AOP功能和ThreadLocal類實現自定義事務管理
TAG:千鋒JAVA開發學院 |