當前位置:
首頁 > 知識 > Swagger生成了幾百兆的文檔

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設計是首要的。調用方法固定,不循環引用,最重要的,記得分模塊哦。

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 千鋒JAVA開發學院 的精彩文章:

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

TAG:千鋒JAVA開發學院 |