knife4j
图
Knife4j是一个开源的Java库,它可以帮助您轻松地为Spring Boot RESTful API生成Swagger文档和UI界面,与Swagger UI不同,Knife4j提供了一些额外的功能,例如请求参数验证、接口测试等

说明

Knife4j是一个集Swagger2和OpenAPI3为一体的增强解决方案,官方文档

<!-- 接口文档,注意官网版本 -->
<dependency>
    <groupId>com.github.xiaoymin</groupId>
    <artifactId>knife4j-openapi2-spring-boot-starter</artifactId>
    <version>4.1.0</version>
</dependency>

配置

# 接口文档
knife4j:
  enable: true
  openapi:
    title: 面试试题API
    description: 面试试题API,包含后台管理系统API、小程序/APP相关API
    email: 979398409@qq.com
    concat: 范
    url: https://docs.xiaominfo.com
    version: v1.0.0
    group:
      test1:
        group-name: 后台管理系统API
        api-rule: package
        api-rule-resources:
          - com.fan.controller.manage
      test2:
        group-name: 前端相关API
        api-rule: package
        api-rule-resources:
          - com.fan.controller.front

注解

@Api:用于类上,接口集合名

@Api(tags = "管理员相关接口")

@ApiOperation:用在方法上,接口作用和描述

@ApiOperation(value = "添加/修改分类", notes = "ID字段有值则修改,没有或为空则添加")

@ApiImplicitParam:用在方法上,单个请求参数

@ApiImplicitParam(name = "name",value = "姓名",required = true) 

@ApiImplicitParams:用在方法上,多个个请求参数


@ApiImplicitParams({
    @ApiImplicitParam(name = "mobile", value = "手机号码", dataType = "string", paramType = "query", example = "13802780104", required = true),
    @ApiImplicitParam(name = "user_name", value = "登录账号", dataType = "string", paramType = "query", example = "lihailin9073", required = true),
})

@ApiModel:用在实体类上,表明该类作用

@ApiModel("招聘者企业用户信息校验返回参数信息")

@ApiModelProperty:用在实体类属性上,表明该属性作用

@ApiModelProperty(value = "名称", required = true, dataType = "Boolean",example = "false")