Swagger使用(二)—— 利用swagger2markup生成離線的html和pdf接口文檔

上一篇:Swagger使用(一)—— Springboot2.0與Swagger2整合生成在線接口文檔(支持多文件數組上傳)

        當我們的項目中集成了Swagger,開發時一般只會使用在線文檔,但當接口開發完成之後,我們就需要提供一份給接口調用人蔘考的接口文檔,比如html、pdf、word等格式的接口文檔。怎麼生成這樣的文檔呢?有一個Github開源項目swagger2markup已經幫我們實現了這個功能,我們拿來用就可以了。大概過程是,首先通過調用本地接口獲取項目中描述接口的json數據,然後swagger2markup利用swagger.json生成adoc文檔,然後asciidoctor再通過adoc文檔生成對應的htmlpdf文檔。下面我們來看一下具體的實現過程:

目錄

一、獲取項目中用Swagger描述的接口json數據

二、生成adoc文檔和生成html或pdf的配置詳細步驟

1、下載swagger2markup項目

2、複製該項目src目錄下的docs目錄到我們自己的src目錄中

3、複製swagger2markup項目pom文件中的屬性和倉庫配置

4、複製swagger2markup項目pom文件中的插件配置

5、自己項目中的swagger依賴記得配置

6、在${project.build.directory}目錄下創建swagger目錄並將swagger.json文件放進來

三、生成html或pdf文檔

四、解決生成的pdf文檔中的亂碼問題


一、獲取項目中用Swagger描述的接口json數據

訪問地址:http://localhost:8080/v2/api-docs

在瀏覽器右鍵點擊另存爲swagger.json文件,當然你也可以寫個程序從這個接口獲取到數據後自動生成json文件。

二、生成adoc文檔和生成html或pdf的配置詳細步驟

1、下載swagger2markup項目

swagger2markup項目地址:https://github.com/Swagger2Markup/swagger2markup

點擊下載將這個項目下載下來,裏面有些文件我們需要用到。

2、複製該項目src目錄下的docs目錄到我們自己的src目錄中

我們需要用到這個目錄下的三個文件,其實只需要一個index.adoc,其他兩個可以刪掉,但刪掉之後index.adoc中的include::manual_content1.adoc[] include::manual_content2.adoc[]也要刪掉。這裏暫時先不管它,直接複製過來即可。

 

3、複製swagger2markup項目pom文件中的屬性和倉庫配置

 

4、複製swagger2markup項目pom文件中的插件配置

有兩個插件配置需要複製過來,一個是生成ascciidoc文檔的,一個是生成html或pdf文檔的,全部複製過來放到自己項目中的pom文件中,什麼都不用改。

 

5、自己項目中的swagger依賴記得配置

 

6、在${project.build.directory}目錄下創建swagger目錄並將swagger.json文件放進來

 

三、生成html或pdf文檔

所有配置完成後,直接在根目錄下使用maven test命令,或者使用Eclipse、IDEA工具執行maven test命令,BUILD SUCDESS之後我們可以在target目錄下面看到生成的asccidoc目錄,裏面有我們需要的html或pdf文件。

四、解決生成的pdf文檔中的亂碼問題

通過上面的方法生成的html文檔編碼是沒問題的,只是pdf文檔中有些地方會有亂碼,如果直接拿給別人看肯定是不行的,所以我們需要解決這個亂碼問題。

請參考:Swagger使用(三)—— 解決swagger2markup生成的離線pdf接口文檔中的亂碼問題

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章