使用spring boot + swagger自動生成HTML、PDF接口文檔,並解決中文顯示爲空白問題

作後端開發,天然離不開接口文檔,接口文檔不只方便後端開發人員之間查看,更是前端人員必要的文檔,也有可能提供給第三方來調用咱們的接口。可是,寫接口文檔太費時間,並且若是沒有肯定好格式,每一個人寫的接口文檔可能各不相同,看起來就會很混亂。html

好在swagger出現了,若是你的spring boot項目集成了swagger,並且接口和入參出參實體類加上了swagger相關的註解(參考最終demo中的controllermodel),那麼,就能夠經過http://ip:port/swagger-ui.html(ipport換成本身配置的)來訪問在線的接口,在此頁面也能夠直接測試接口。對spring bootswagger不瞭解的建議先學習一下,近年來很火,使用起來也確實方便。可是咱們確定不會知足在線訪問就能夠了的,有時候會須要離線的接口文檔,因而就有了swagger2markupspringFoxasciidoctor幾個插件來幫助咱們生成離線的HTMLPDF格式的文檔。前端

關於使用swagger生成HTML或者PDF的原理,能夠參考這篇文章:使用 SpringFox、Swagger2Markup、Spring-Restdoc和 Maven 構建 RESTful API文檔git

首先是從spring-swagger2markup-demo下載了demo,這個demo已經可以生成HTMLPDF文檔了,可是對中文支持很差,中文大部分會顯示爲空白。若是你的接口文檔是全英文的,那麼就用這個就能夠了。關於這個demo對中文支持很差,查了不少資料,應該是字體和主題的緣由,因此參考了不少資料,結合當前這個demo,作出了最終的能很好支持中文的demo,最終demo地址:swagger2pdfgithub

生成的文檔存放的目錄:當前項目的target\asciidoc\htmltarget\asciidoc\pdf分別存放着HTML文檔PDF文檔spring

關於接口和入參出參實體類中用到的swagger註解,能夠參考這篇博客:swagger2經常使用註解說明後端

最終生成的HTML文檔PDF文檔效果圖:
html效果圖
pdf效果圖api

因爲參考了不少資料都沒有成功,只記錄了最後成功的連接,沒有記錄下其餘的連接,若是您以爲其中有參考您的部分,能夠留言留下您的地址,我會加到參考的連接裏的。springboot

主要參考:學習

相關文章
相關標籤/搜索