使用springBoot + springFox + swagger2markup + asciidoctorj-pdf,生成HTML和PDF格式的接口文档,也解决了PDF文档中文显示为空白的问题。
关于本项目的一些其他信息,可以看我的这篇博客。
- 先利用
SpringFox
库生成RESTful API
- 再利用
Swagger2Markup
Maven插件生成asciidoc
文档 - 最后利用
asciidoctor
Maven插件生成 html 或 pdf 文件
先下载本项目到本地,导入eclipse
,等待maven
下载完依赖的jar包
,即可使用。运行时只需要在项目上右击-->Run As
-->Maven clean
-->在项目上右击-->Run As
-->Maven test
,只要控制台显示成功,在当前项目的target\asciidoc\html
和target\asciidoc\pdf
分别存放着HTML文档
和PDF文档
。
注意:其他IDE工具没有试过,如需使用,请自行研究。
为了本项目使用方便,不建议将要生成文档的项目源码整合到本项目,这样做比较麻烦,需要每个项目都加。
比较好的做法是:
- 首先你的项目要确保是
spring boot
的,并且集成了swagger
,接口层和入参出参实体类加了swagger
的相关注解,且能正确跑起来; - 然后将本项目的
src/test/java
下com.example.swagger2pdf
中的Swagger2PdfTest
类中的注释放开,将生成当前项目的swagger.json
的代码注释掉,将url
中的ip
和port
换成自己要生成文档的项目的ip
和port
,这里要确保这个url
直接访问有数据返回,不然是无法生成文档的; - 最后按上面说的运行项目即可生成文档。
有部分人说运行报错,我也没遇到过这些错误,不过我猜测可能是有些插件没下下来或者没下完整,所以我上传了我这个项目用到的所有 jar 包到 repository 目录,报错的兄弟可以把这些文件放到 .m2/repository
目录里,应该能让你的项目运行起来。如果还有问题,那就问谷歌度娘吧。