Swagger2入门案例

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务

入门:

在springboot工程中添加依赖

  • 1.配置依赖:

    <!--swagger依赖-->
          <dependency>
              <groupId>io.springfox</groupId>
              <artifactId>springfox-swagger2</artifactId>
          </dependency>
          <dependency>
              <groupId>io.springfox</groupId>
              <artifactId>springfox-swagger-ui</artifactId>
          </dependency>
    
  • 2.编写配置类
    @Configuration
    @EnableSwagger2
    public class SwaggerConfiguration {

       @Bean
       public Docket buildDocket() {
          return new Docket(DocumentationType.SWAGGER_2)
                  .apiInfo(buildApiInfo())
                  .select()
                  // 要扫描的API(Controller)基础包
                  .apis(RequestHandlerSelectors.basePackage("com.xx")) 
              	  //指定包下所有请求
                  .paths(PathSelectors.any())  
                  .build();
       }
    
       private ApiInfo buildApiInfo() {
          Contact contact = new Contact("操作人员","","");
          return new ApiInfoBuilder()
                  .title("xxx-平台管理API文档")  //标题
                  .description("平台管理服务api")  //描述
                  .contact(contact)
                  .version("1.0.0").build(); //版本
       }
    }
    
  • 3.编写controller添加注解
    @Api(value = "频道管理", tags = "channel", description = "频道管理API")
    public interface AdChannelControllerApi {

        /**
         * 根据名称分页查询频道列表
         * @param dto
         * @return
         */
        @ApiOperation("频道分页列表查询")
        public ResponseResult findByNameAndPage(ChannelDto dto);
    }
    

    实体类参数描述
    @Data
    public class ChannelDto extends PageRequestDto {

        /**
         * 频道名称
         */
        @ApiModelProperty("频道名称")
       // @ApiModelProperty(value="频道名称",required = true) 必须传参
        private String name;
    }
    
    1. 启动项目,访问地址: http:// ip :端口号/swagger-ui.html

Swagger常用注解

在Java类中添加Swagger的注解即可生成Swagger接口文档,常用Swagger注解如下:

@Api:修饰整个类,描述Controller的作用 @ApiOperation:描述一个类的一个方法,或者说一个接口

@ApiParam:单个参数的描述信息

@ApiModel:用对象来接收参数

@ApiModelProperty:用对象接收参数时,描述对象的一个字段

@ApiResponse:HTTP响应其中1个描述

@ApiResponses:HTTP响应整体描述

@ApiIgnore:使用该注解忽略这个API

@ApiError :发生错误返回的信息

@ApiImplicitParam:一个请求参数

@ApiImplicitParams:多个请求参数的描述信息

@ApiImplicitParam属性:

属性 取值 作用
paramType 查询参数类型
path 以地址的形式提交数据
query 直接跟参数完成自动映射赋值
body 以流的形式提交 仅支持POST
header 参数在request headers 里边提交
form 以form表单的形式提交 仅支持POST
dataType 参数的数据类型 只作为标志说明,并没有实际验证
Long
String
name 接收参数名
value 接收参数的意义描述
required 参数是否必填
true 必填
false 非必填
defaultValue 默认值

上一篇:将swagger2接口导入yapi


下一篇:swagger2 注解说明