SpringBoot2.0搭配swagger2生成接口文档

  • 版本:
    • Spring Boot:2.0.5
    • Swagger2:2.7.0
  • maven依赖:
    •         <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>
      <!--因为父工程中有springboot的依赖,就不在这个项目中添加了-->
      <!--spring-boot-starter-web-->

       

  • 在application.yml文件中添加配置

    • #开启swagger服务
      swagger:
        enable: true

       

  • 写扫描的类

    • @Configuration
      @EnableSwagger2
      public class Swagger2Config {
      
          @Value("${swagger.enable}")
          private boolean enableSwagger;
      
          @Bean
          public Docket createRestApi() {
              return new Docket(DocumentationType.SWAGGER_2)
                      .apiInfo(apiInfo())
                      // 生产环境的时候关闭 swagger 比较安全
                      .enable(enableSwagger)
                      .select()
                      .apis(RequestHandlerSelectors.basePackage("com.ihrm"))
                      .paths(PathSelectors.any())
                      .build();
          }
      
          private ApiInfo apiInfo() {
              return new ApiInfoBuilder()
                      .title("api文档")
                      .description("api文档")
                      .termsOfServiceUrl("/")
                      .version("1.0")
                      .build();
          }
      }

       

  • 然后访问ip+端口号/swagger-ui.html 即可

  • 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 默认值
      
      @ApiModelProperty(value = "业务类型", example = "", notes = "",required = true)

       

    • optional (可选的)

  • 实体类要使用驼峰式的写法, 不然识别不了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值