Knife4j使用

张开发
2026/4/12 1:15:12 15 分钟阅读

分享文章

Knife4j使用
Knife4j是一个用于生成和展示API文档的工具同时它还提供了在线调试的功能Knife4j使用创建项目在pom.xml里添加依赖,并进行依赖安装dependency groupIdcom.github.xiaoymin/groupId artifactIdknife4j-openapi3-jakarta-spring-boot-starter/artifactId version4.4.0/version /dependency创建config目录编写配置类package com.knife4j.java_07_knife4j.config; import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.info.Info; import org.springdoc.core.models.GroupedOpenApi; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; Configuration public class Knife4jConfiguration { // 配置接口文档标题 Bean public OpenAPI openAPI() { return new OpenAPI() .info(new Info() .title(hello-knife4j项目API) .version(1.0) .description(hello-knife4j项目的接口文档)); } // 配置接口的分类以/user/开头的接口都规划到‘用户信息管理’ Bean public GroupedOpenApi userAPI() { return GroupedOpenApi.builder().group(用户信息管理). pathsToMatch(/user/**). build(); } // 配置接口的分类以/product/开头的接口都规划到‘产品信息管理’ Bean public GroupedOpenApi systemAPI() { return GroupedOpenApi.builder().group(产品信息管理). pathsToMatch(/product/**). build(); } }编写接口1.在entity文件下创建User实体类package com.knife4j.java_07_knife4j.entity; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; #Schema定义接口字段说明 Data Schema(description 用户信息实体) public class User { Schema(description 用户ID) private Integer id; Schema(description 用户名称) private String name; Schema(description 用户年龄) private Integer age; }2.在controller文件下创建接口package com.knife4j.java_07_knife4j.controller; import com.knife4j.java_07_knife4j.entity.User; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Parameter; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; RestController RequestMapping(/user) Tag(name 用户信息管理) public class UserController { GetMapping(getById) Operation(summary 用户信息接口) public User getById(Parameter(description 用户ID) RequestParam(id) Integer id){ User user new User(); user.setId(id); user.setName(张三); user.setAge(18); return user; } }启动项目找到启动类启动项目访问http://localhost:8081/doc.html

更多文章