Spring Boot中使用Swagger2构建强大的RESTful API文档

Spring Boot中使用Swagger2构建强大的RESTful API文档

 http://blog.didispace.com/swagger2markup-asciidoc/

添加插件

<pluginRepositories>
        <pluginRepository>
            <id>jcenter-snapshots</id>
            <name>jcenter</name>
            <url>http://oss.jfrog.org/artifactory/oss-snapshot-local/</url>
        </pluginRepository>
        <pluginRepository>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <id>jcenter-releases</id>
            <name>jcenter</name>
            <url>http://jcenter.bintray.com</url>
        </pluginRepository>
    </pluginRepositories>
View Code
<plugin>
                <groupId>io.github.swagger2markup</groupId>
                <artifactId>swagger2markup-maven-plugin</artifactId>
                <version>1.3.1</version>
                <configuration>
                    <swaggerInput>http://localhost:8080/v2/api-docs</swaggerInput>
                    <!--<outputDir>src/docs/asciidoc/generated</outputDir>-->
                    <outputFile>src/docs/asciidoc/generated/all</outputFile>
                    <config>
                        <swagger2markup.markupLanguage>ASCIIDOC</swagger2markup.markupLanguage>
                        <!--<swagger2markup.markupLanguage>MARKDOWN</swagger2markup.markupLanguage>-->
                    </config>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.asciidoctor</groupId>
                <artifactId>asciidoctor-maven-plugin</artifactId>
                <version>1.5.6</version>
                <configuration>
                    <sourceDirectory>src/docs/asciidoc/generated</sourceDirectory>
                    <outputDirectory>src/docs/asciidoc/html</outputDirectory>
                    <backend>html</backend>
                    <sourceHighlighter>coderay</sourceHighlighter>
                    <attributes>
                        <toc>left</toc>
                    </attributes>
                </configuration>
            </plugin>
View Code

先启动应用程序,确保http://localhost:8080/v2/api-docs 可以正常访问

执行mvn命令

mvn swagger2markup:convertSwagger2markup

生产adoc文件后再生产HTML

mvn asciidoctor:process-asciidoc

查看文件

 

swagger2常用注解说明

 

一个不错的swagger ui

        <!-- https://mvnrepository.com/artifact/com.github.xiaoymin/swagger-bootstrap-ui -->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>swagger-bootstrap-ui</artifactId>
            <version>1.8.2</version>
        </dependency>

 

修复 swaggerfox 升级 2.9.2 java.lang.NumberFormatException

 生产环境中禁用

@Configuration
@EnableSwagger2
public class SwaggerConfig {

    @Value("${swagger.show}")
    private boolean swaggerShow;

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(swaggerShow)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.hexin.messagecenter.controller.api"))
                .paths(PathSelectors.any())
                .build();
    }

    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("message-center APIs")
                .description("消息中心接口")
//                .termsOfServiceUrl("http://www.hxlc.com/")
                .version("1.0")
                .build();
    }
}
View Code

配置中添加

swagger:
  show: false

 

Spring Cloud Gateway整合Swagger聚合微服务系统API文档(非Zuul)

posted @ 2018-09-07 09:35  uptothesky  阅读(133)  评论(0编辑  收藏  举报