Swagger导出pdf文档

好久没写博客了,今天弄了一个Swagger导出pdf文档的,在网上找解决方案的时候也挺头疼的,那我也整一个吧~(PS:项目怎么搭建swagger我这里就不详说了,所以现在添加的配置和依赖都是基于已经有swagger环境的基础哈!)

第一步:先去github找demo项目,项目地址:https://github.com/Swagger2Markup/spring-swagger2markup-demo,然后主要看一下demo里面pom里面的配置。

Swagger导出pdf文档_第1张图片

把demo的index.adoc拷贝到src/docs/asciidoc

第二步:修改pom.xml文件配置


    1.8
    1.2.0
    ${project.basedir}/src/docs/asciidoc
    ${project.build.directory}/swagger
    ${project.build.directory}/asciidoc/generated
    ${project.build.directory}/asciidoc/html
    ${project.build.directory}/asciidoc/pdf
    http://localhost:8890/v2/api-docs
    2.9.6

    
        io.springfox
        springfox-staticdocs
        2.6.1
    
    
        org.springframework.restdocs
        spring-restdocs-mockmvc
    
    
        com.fasterxml.jackson.module
        jackson-module-jsonSchema
        ${jackson.version}
        test
    
    
        io.github.robwin
        assertj-swagger
        0.8.1
        test
    
    
        io.github.swagger2markup
        swagger2markup-spring-restdocs-ext
        ${swagger2markup.version}
        test
    

插件配置:


    io.github.swagger2markup
    swagger2markup-maven-plugin
    ${swagger2markup.version}
    
        
            io.github.swagger2markup
            swagger2markup-import-files-ext
            ${swagger2markup.version}
        
        
            io.github.swagger2markup
            swagger2markup-spring-restdocs-ext
            ${swagger2markup.version}
        
    
    
        ${swagger.input}
        ${generated.asciidoc.directory}
        
            ASCIIDOC
            TAGS
        
    
    
        
            test
            
                convertSwagger2markup
            
        
    


    org.asciidoctor
    asciidoctor-maven-plugin
    1.5.6
    
    
        
            org.asciidoctor
            asciidoctorj-pdf
            1.5.0-alpha.16
        
        
            org.jruby
            jruby-complete
            1.7.24
        
    
    
    
        ${asciidoctor.input.directory}
        index.adoc
        
            book
            left
            3
            
            
            
            
            ${generated.asciidoc.directory}
        
    
    
    
        
            output-html
            test
            
                process-asciidoc
            
            
                html5
                ${asciidoctor.html.output.directory}
            
        

        
            output-pdf
            test
            
                process-asciidoc
            
            
                pdf
                ${asciidoctor.pdf.output.directory}
            
        
    

PS:github上面demo  jruby-complete版本是1.7.21,我本地构建会出现io/console not supported; tty will not be manipulated,然后在https://serverfault.com/questions/750107/what-is-io-console-not-supported-tty-will-not-be-manipulated这边文章找到答案,要升级版本。所以这里用到的是1.7.24版本。

PS:先启动项目,这样才能访问到http://localhost:8890/v2/api-docs,获取swagger的json数据,生成pdf。

 

最后执行mvn clean test命令。

结果如图:

Swagger导出pdf文档_第2张图片

Swagger导出pdf文档_第3张图片

最后出现一个pdf中文问题,参考https://blog.csdn.net/qq_29534483/article/details/81235081,打字打累了,再见!

 

你可能感兴趣的:(Swagger导出pdf文档)