最近在用swagger寫API手冊,寫一堆註解後,啓動Java工程,API文檔就自動生成了,打開swagger-ui.html,效果是這樣的。上面能夠執行RestAPI,可是用來閱讀,很是不得勁。html
由於,咱們想要下面這樣的,哪裏不會點哪裏。java
怎麼獲得這種效果呢?swagger2markup + AsciiDoc能夠幫你達成目標。git
swagger2markup是一個Java庫,用來將Swagger自動生成的文檔轉換成幾種流行的格式以便於靜態部署和使用,好比:AsciiDoc、Markdown。可是這種方式進行swagger to markup的轉換要編碼初始化,作一堆事情,侵入性較大。github
swagger2markup-cli 是一種將 swagger json文件轉換爲 Markdown 或 AsciiDoc 的命令行工具。不須要寫代碼,就能夠進行轉換。json
我更喜歡swagger2markup-cli這種侵入性小的轉換方式,它的主要操做步驟以下api
下載swagger2markup-cli到本地(本地已安裝jre)
去github https://github.com/Swagger2Ma... , 下載最新代碼,編譯一個jar包便可。
默認的swagger2markup-cli生成英文的AsciiDoc文檔,若是要生成中文markdown文檔,須要將語言設置爲中文,將文檔格式設置爲Markdown。 配置以下,建議將這些配置保存到文檔config.properties中。ruby
swagger2markup.markupLanguage=MARKDOWN swagger2markup.outputLanguage=ZH
java -jar swagger2markup-cli-1.3.3.jar convert -i http://127.0.0.1:8090/api/v1/v2/api-docs -c ./config.properties -f lsm
-i 指定swagger json文件能夠是url地址
-c 指定配置文件
-f 指定目標文件地址,注意不須要帶後綴markdown
執行命令後你就能夠獲得markdown文件或AsciiDoc文件,但markdown顯示後的效果是這樣的,並無咱們期待的側邊欄。工具
Asciidoc 是一種文檔寫做語言,能夠展現出比markdown更好的格式效果。確實如此,我原本想先生成markdown再將markdown格式化,但搜索了半天,沒有好但方案。因而我就選用了AsciiDoc,AsciiDoc有比較好但工具軟件AsciiDoctor。基於這個工具能夠簡單快捷但生成類JavaDoc html文件,而且顯示效果更好。ui
至此搞定收工,但願你也能擁有一個滿意的API 文檔。