swagger增强knife4j

📅 2026/7/4 3:35:05
swagger增强knife4j
1、官网文档快速开始 | Knife4j2、引入依赖dependency groupIdcom.github.xiaoymin/groupId artifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactId version4.5.0/version /dependency3、配置文件引入之后其余的配置开发者即可完全参考springdoc-openapi的项目说明Knife4j只提供了增强部分如果要启用Knife4j的增强功能可以在配置文件中进行开启。部分配置如下:# springdoc-openapi项目配置 springdoc: swagger-ui: path: /swagger-ui.html tags-sorter: alpha operations-sorter: alpha api-docs: path: /v3/api-docs group-configs: - group: default paths-to-match: /** packages-to-scan: com.ybw.controller # knife4j的增强配置不需要增强可以不配 knife4j: enable: true setting: language: zh_cnKnife4j更多增强配置明细请移步文档进行查看。4、代码最后使用OpenAPI3的规范注解注释各个Spring的REST接口示例代码如下package com.ybw.controller; import com.ybw.dto.BodyDTO; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.Parameters; import io.swagger.v3.oas.annotations.enums.ParameterIn; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; RestController RequestMapping(body) Tag(name body参数) public class BodyController { Operation(summary 普通body请求) PostMapping(/body) public ResponseEntityBodyDTO body(RequestBody BodyDTO bodyDTO) { return ResponseEntity.ok(bodyDTO); } Operation(summary 普通body请求ParamHeaderPath) Parameters({ Parameter(name id, description 文件id, in ParameterIn.PATH), Parameter(name token, description 请求token, required true, in ParameterIn.HEADER), Parameter(name name, description 文件名称, required true, in ParameterIn.QUERY) }) PostMapping(/bodyParamHeaderPath/{id}) public ResponseEntityBodyDTO bodyParamHeaderPath(PathVariable(id) String id, RequestHeader(token) String token, RequestParam(name) String name, RequestBody BodyDTO bodyDTO) { bodyDTO.setName(bodyDTO.getName() ,receiveName: name ,token: token ,pathID: id); return ResponseEntity.ok(bodyDTO); } }package com.ybw.dto; import lombok.Data; /** * author ybw * version V1.0 * className BodyDTO * date 2026/7/2 **/ Data public class BodyDTO { private String name; }5、访问访问Knife4j的文档地址http://ip:port/doc.html即可查看文档。6、导出文档管理-离线文档