前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >秒懂Spring Boot整合Knife4j,让你的Swagger界面秒变高颜值

秒懂Spring Boot整合Knife4j,让你的Swagger界面秒变高颜值

作者头像
bug菌
修改于 2023-09-27 08:22:14
修改于 2023-09-27 08:22:14
6.5K00
代码可运行
举报
运行总次数:0
代码可运行

🏆本文收录于 《Spring Boot从入门到精通》 ,专门攻坚指数提升,2023 年国内最系统+最强(更新中)。

本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
环境说明:Windows10 + Idea2021.3.2 + Jdk1.8 + SpringBoot 2.3.1.RELEASE

前言

在使用Swagger进行API文档编写时,我们不可避免的会遇到Swagger的一些瓶颈。例如,Swagger的UI界面不太友好,样式单调且难看,交互体验也不是很好。为了解决这些问题,我们可以使用Knife4j对Spring Boot进行整合,从而美化并强化Swagger的使用效果。

本文将介绍如何使用Knife4j对Spring Boot进行整合,并对Knife4j的使用做一些简单介绍。

摘要

Knife4j是一个基于Swagger UI的增强版UI框架,可以方便地使用Swagger来管理和测试API文档。而Spring Boot是一个快速开发框架,可以简化开发过程。将Knife4j与Spring Boot整合可以让开发人员更加方便地管理和测试API文档。

本文将分为以下几个部分:

  1. 简述Swagger和Knife4j;
  2. Spring Boot整合Knife4j的步骤;
  3. Knife4j的使用介绍;
  4. 测试用例;
  5. 全文小结。

正文

1. 简述Swagger和Knife4j

Swagger是一个开源的、用于编写API文档的框架。它可以帮助我们通过Swagger UI对API文档进行在线展示,从而实现API文档的可视化管理。

然而,Swagger在UI界面上的表现并不是很出色。因此,为了增强Swagger的UI交互体验,我们可以使用Knife4j对其进行美化和强化。

Knife4j是Swagger-UI的增强版,它是在Swagger-UI的基础上进行了改进和优化,提供了更加完善的交互体验和更加美观的UI设计。同时,它也提供了更多的扩展功能,例如在线调试和多语言支持等。

2. Spring Boot整合Knife4j的步骤

下面,我们将介绍如何在Spring Boot中整合Knife4j。

2.1 配置pom.xml文件

在项目的pom.xml文件中添加如下依赖:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<dependency>
	<groupId>com.github.xiaoymin</groupId>
	<artifactId>knife4j-spring-boot-starter</artifactId>
	<version>${latest.version}</version>
</dependency>

其中,${latest.version}为当前最新版本号。

2.2 配置Swagger和Knife4j

在Spring Boot的配置文件application.properties中添加如下配置:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
# Swagger配置
swagger.enabled=true

# Knife4j配置
knife4j.swagger-ui.enabled=true
knife4j.swagger-ui.path=/doc.html

其中,swagger.enabled表示是否启用Swagger,knife4j.swagger-ui.enabled表示是否启用Knife4j,knife4j.swagger-ui.path表示Knife4j的访问路径。

2.3 编写API文档

使用Swagger注解编写API文档。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
@RestController
@RequestMapping("/api/user")
@Api(tags = {"用户管理"})
public class UserController {

    @GetMapping("/{id}")
    @ApiOperation(value = "获取用户信息", notes = "根据用户id获取用户信息")
    public User getUser(@PathVariable Integer id) {
        return userService.getUserById(id);
    }

    @PutMapping
    @ApiOperation(value = "更新用户信息", notes = "根据传入的用户信息更新用户信息")
    public User updateUser(@RequestBody User user) {
        return userService.updateUser(user);
    }

3. Knife4j的使用介绍

3.1 Knife4j的UI界面

启动Spring Boot应用,访问http://localhost:8080/doc.html,即可看到Knife4j的UI界面。 示例如下:

3.2 Knife4j的在线调试功能

在Knife4j的UI界面中,我们可以直接进行API的在线调试。例如,我们可以点击上方的“用户管理”标签,选择“获取用户信息”接口,并输入参数进行测试。 示例如下:

模拟请求发送:

3.3 Knife4j的多语言支持

Knife4j支持多种常用的语言,例如中文、英文、日文等。我们可以在配置文件中设置knife4j.swagger-ui.language属性来配置语言。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
knife4j.swagger-ui.language=zh-CN

4. 测试用例

我们可以使用Postman等工具来测试API接口。

5. 全文小结

本文介绍了如何使用Knife4j对Spring Boot进行整合,并对Knife4j进行了简单介绍。通过使用Knife4j,我们可以实现API文档的美化和强化,提高API文档的交互体验和可读性。

我正在参与2023腾讯技术创作特训营第二期有奖征文,瓜分万元奖池和键盘手表

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验