Spring Boot入门(17):秒懂Spring Boot整合Knife4j,让你的Swagger界面秒变高颜值

举报
bug菌 发表于 2023/08/26 21:00:31 2023/08/26
【摘要】 Knife4j是一个基于Swagger UI的增强版UI框架,可以方便地使用Swagger来管理和测试API文档。而Spring Boot是一个快速开发框架,可以简化开发过程。将Knife4j与Spring Boot整合可以让开发人员更加方便地管理和测试API文档。

前言

在使用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文件中添加如下依赖:

<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中添加如下配置:

# 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文档。

@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界面。
示例如下:
image.png

3.2 Knife4j的在线调试功能

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

image.png

模拟请求发送:
image.png

3.3 Knife4j的多语言支持

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

knife4j.swagger-ui.language=zh-CN

4. 测试用例

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

5. 全文小结

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

关于我

我是bug菌,CSDN | 阿里云 | 华为云 | 51CTO 等社区博客专家,历届博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金 | InfoQ | 51CTO等社区优质创作者,全网粉丝合计15w+ ;硬核微信公众号「猿圈奇妙屋」,欢迎你的加入!免费白嫖最新BAT互联网公司面试题、4000G pdf电子书籍、简历模板等海量资料。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。