美文网首页
Swagger-UI实现在线API文档

Swagger-UI实现在线API文档

作者: 潇豪 | 来源:发表于2019-11-21 01:19 被阅读0次

    整合Swagger-UI


    添加项目依赖

    <!--swagger-ui-->
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger2</artifactId>
      <version>2.7.0</version>
    </dependency>
    <dependency>
      <groupId>io.springfox</groupId>
      <artifactId>springfox-swagger-ui</artifactId>
      <version>2.7.0</version>
    </dependency>
    

    常用注解


    • @Api:用于修饰Controller类,生成Controller相关文档信息
    • @ApiOperation:用于修饰Controller类中的方法,生成接口方法相关文档信息
    • @ApiParam:用于修饰接口中的参数,生成接口参数相关文档信息
    • @ApiModelProperty:用于修饰实体类的属性,当实体类是请求参数或返回结果时,直接生成相关文档信息

    swagger-ui的配置类


    package com.aurochs.example.config;
    
    import io.swagger.annotations.Api;
    import io.swagger.annotations.ApiOperation;
    import org.springframework.context.annotation.Bean;
    import springfox.documentation.builders.ApiInfoBuilder;
    import springfox.documentation.builders.PathSelectors;
    import springfox.documentation.builders.RequestHandlerSelectors;
    import springfox.documentation.service.ApiInfo;
    import springfox.documentation.spi.DocumentationType;
    import springfox.documentation.spring.web.plugins.Docket;
    @Configuration
    @EnableSwagger2
    public class SwaggerConfig {
        @Bean
        public Docket createRestApi(){
            return new Docket(DocumentationType.SWAGGER_2)
                    .apiInfo(apiInfo())
                    .select()
                    //为当前包下controller生成API文档
                    .apis(RequestHandlerSelectors.basePackage("com.xxxx.example.controller"))
                    //为有@Api注解的Controller生成API文档
                   .apis(RequestHandlerSelectors.withClassAnnotation(Api.class))
                    //@ApiOperation注解的方法生成API文档
                   .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
                    .paths(PathSelectors.any())
                    .build();
        }
    
        private ApiInfo apiInfo() {
            return new ApiInfoBuilder()
                    .title("SwaggerUi")
                    .description("后台管理")
                    .contact("shawn")
                    .version("1.0")
                    .build();
        }
    }
    
    
    
    

    相关文章

      网友评论

          本文标题:Swagger-UI实现在线API文档

          本文链接:https://www.haomeiwen.com/subject/neuymctx.html