<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          懶得寫文檔,swagger文檔導(dǎo)出來不香嗎

          共 1828字,需瀏覽 4分鐘

           ·

          2020-11-12 15:46

          點擊上方藍(lán)色字體,選擇“標(biāo)星公眾號”

          優(yōu)質(zhì)文章,第一時間送達

          ? 作者?|??唯一浩哥

          來源 |? urlify.cn/YJ3AFn

          66套java從入門到精通實戰(zhàn)課程分享

          前言

          ??早前筆者曾經(jīng)寫過一篇文章《研發(fā)團隊,請管好你的API文檔》。團隊協(xié)作中,開發(fā)文檔的重要性,這里就不再贅述,今天的話題集中在如何進一步提升更加高效的使用文檔。

          離線文檔

          ??swagger已經(jīng)很方便了,我們?yōu)槭裁催€需要離線文檔?公司同一個項目組,一般只要集成了swagger基本就夠了,但是難免會有跨組,甚至?xí)泄緦ν夂献鞯捻椖俊L貏e是在"微服務(wù)大行其道的今天",多個團隊之間,因為分工不同,權(quán)限不同,往往不能互相訪問各個項目的swagger文檔,通常的做法有以下幾種:

          • 搭建統(tǒng)一的接口文檔管理系統(tǒng)

            每個項目組的都要將各自的接口手動編寫到歸檔到這里,需要查看,把人拉入組織即可查看。

          • 代碼即文檔

            提供源代碼。同一個項目開發(fā)開發(fā)者。很多小公司就是這樣。沒有文檔,只有源碼。

          • 離線文檔
            將文檔導(dǎo)出成excel,docx,html等形式,對外輸出,比如給第三方調(diào)用。

          ??本文將聚焦于如何將swaggerUI導(dǎo)出離線文檔。

          ??筆者嘗試了以下三種方式。

          1 保存為html

          Web開發(fā)者都知道,只要是網(wǎng)頁你都可以另存為靜態(tài)網(wǎng)頁。

          然后,右鍵用谷歌瀏覽器打開

          當(dāng)我運行我的代碼時,它出錯了:

          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有關(guān)系,還好對swagger有所了解。果斷通過訪問 http://localhost:5000/swagger/v1/swagger.json 下載swagger.json,并放在指定位置。

          ??再次運行,報錯和剛才一樣。這是跨源資源共享問題。
          有兩種處理辦法:

          • 使用網(wǎng)絡(luò)服務(wù)器。

            要為靜態(tài)html/js文件運行一個簡單的Web服務(wù)器。

          • 更改您的chrome啟動參數(shù),并讓它知道您要忽略此安全功能。

          詳細(xì)請查閱:https://www.codenong.com/50445639/

          這里我使用的是IIS服務(wù)器,將js和html一同部署在IIS上,如下:

          • 更改您的chrome啟動參數(shù),并讓它知道您要忽略此安全功能。

          ??部署之后,通過部署的IP地址即可訪問(PS:這個比較適合公司內(nèi)部,比如前后端分離開發(fā)的是時候)。

          2 導(dǎo)出成pdf文檔?

          這個比較簡單,不用寫代碼。利用windows自帶的功能即可實現(xiàn)。

          點擊快捷鍵Ctrl+p,顯示打印頁面

          保存即可。

          3 導(dǎo)出成Word文檔

          ??當(dāng)然,盡管以上兩種方式已經(jīng)很方便了。可是總有些時候,遇到一些難纏的,又不講道理,偏偏覺得將Swagger文檔地址丟給客戶會不夠正式!死活要一份word文檔。

          ??可是這個時候,如果接口數(shù)量上百個,甚至更多,一個一個手動輸入word,那將是一筆耗時的工作。但卻有什么辦法可以解決呢?

          ??對了,利用Swagge生成的Json文件轉(zhuǎn)換為word文檔不就可以了嗎?

          實現(xiàn)方式
          • 獲取Swagger接口文檔的Json文件

          • 解析Json文件數(shù)據(jù)填充到Html的表格中

          • 根據(jù)生成的html轉(zhuǎn)work文檔

          ??這就需要在swagger文檔代碼中做一些擴展。詳情可以參考:基于.NetCore3.1系列 —— 使用Swagger導(dǎo)出文檔

          ??導(dǎo)出word的格式如下:

          基于swagger生成的文檔數(shù)據(jù),我們就可以按照自己的想法來生成自定義格式的數(shù)據(jù)了。有興趣的童鞋可以繼續(xù)深挖。

          參考

          • 基于.NetCore3.1系列 —— 使用Swagger導(dǎo)出文檔

          • https://www.codenong.com/50445639/

          • https://www.52interview.com/book/18/200

          • 研發(fā)團隊,請管好你的API文檔


          粉絲福利:實戰(zhàn)springboot+CAS單點登錄系統(tǒng)視頻教程免費領(lǐng)取

          ???

          ?長按上方微信二維碼?2 秒
          即可獲取資料



          感謝點贊支持下哈?

          瀏覽 213
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  一级无码在线视频 | 天天操妞网 | 大香蕉精品在线 | 亚洲日韩免费视频 | 超碰人人艹 |