點擊上方藍色字體,選擇「標星公衆號」
html
優質文章,第一時間送達java
做者 | 惟一浩哥web
來源 | urlify.cn/YJ3AFnspring
66套java從入門到精通實戰課程分享chrome
前言
早前筆者曾經寫過一篇文章《研發團隊,請管好你的API文檔》。團隊協做中,開發文檔的重要性,這裏就再也不贅述,今天的話題集中在如何進一步提高更加高效的使用文檔。json
離線文檔
swagger已經很方便了,咱們爲何還須要離線文檔?公司同一個項目組,通常只要集成了swagger基本就夠了,可是不免會有跨組,甚至會有公司對外合做的項目。特別是在"微服務大行其道的今天",多個團隊之間,由於分工不一樣,權限不一樣,每每不能互相訪問各個項目的swagger文檔,一般的作法有如下幾種:windows
搭建統一的接口文檔管理系統後端
每一個項目組的都要將各自的接口手動編寫到歸檔到這裏,須要查看,把人拉入組織便可查看。瀏覽器
代碼即文檔安全
提供源代碼。同一個項目開發開發者。不少小公司就是這樣。沒有文檔,只有源碼。
離線文檔
將文檔導出成excel,docx,html等形式,對外輸出,好比給第三方調用。
本文將聚焦於如何將swaggerUI導出離線文檔。
筆者嘗試瞭如下三種方式。
1 保存爲html
Web開發者都知道,只要是網頁你均可以另存爲靜態網頁。
而後,右鍵用谷歌瀏覽器打開
當我運行個人代碼時,它出錯了:
swagger-ui-bundle.js:6 Fetch API cannot load file:///C:/swagger/v1/swagger.json. URL scheme must be "http" or "https" for CORS request.
很明顯和swagger.json有關係,還好對swagger有所瞭解。果斷經過訪問 http://localhost:5000/swagger/v1/swagger.json 下載swagger.json,並放在指定位置。
再次運行,報錯和剛纔同樣。這是跨源資源共享問題。
有兩種處理辦法:
使用網絡服務器。
要爲靜態html/js文件運行一個簡單的Web服務器。
更改您的chrome啓動參數,並讓它知道您要忽略此安全功能。
詳細請查閱:https://www.codenong.com/50445639/
這裏我使用的是IIS服務器,將js和html一同部署在IIS上,以下:
更改您的chrome啓動參數,並讓它知道您要忽略此安全功能。
部署以後,經過部署的IP地址便可訪問(PS:這個比較適合公司內部,好比先後端分離開發的是時候)。
2 導出成pdf文檔
這個比較簡單,不用寫代碼。利用windows自帶的功能便可實現。
點擊快捷鍵Ctrl+p,顯示打印頁面
保存便可。
3 導出成Word文檔
固然,儘管以上兩種方式已經很方便了。但是總有些時候,遇到一些難纏的,又不講道理,恰恰以爲將Swagger文檔地址丟給客戶會不夠正式!死活要一份word文檔。
但是這個時候,若是接口數量上百個,甚至更多,一個一個手動輸入word,那將是一筆耗時的工做。但卻有什麼辦法能夠解決呢?
對了,利用Swagge生成的Json文件轉換爲word文檔不就能夠了嗎?
實現方式
獲取Swagger接口文檔的Json文件
解析Json文件數據填充到Html的表格中
根據生成的html轉work文檔
這就須要在swagger文檔代碼中作一些擴展。詳情能夠參考:基於.NetCore3.1系列 —— 使用Swagger導出文檔
導出word的格式以下:
基於swagger生成的文檔數據,咱們就能夠按照本身的想法來生成自定義格式的數據了。有興趣的童鞋能夠繼續深挖。
參考
基於.NetCore3.1系列 —— 使用Swagger導出文檔
https://www.codenong.com/50445639/
https://www.52interview.com/book/18/200
研發團隊,請管好你的API文檔
粉絲福利:實戰springboot+CAS單點登陸系統視頻教程免費領取
👇👇👇
👆長按上方微信二維碼 2 秒 便可獲取資料
感謝點贊支持下哈
本文分享自微信公衆號 - java1234(gh_27ed55ecb177)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。