SpringBoot整合knife4j

news/2024/11/19 9:41:00/

knife4j

文档地址:https://doc.xiaominfo.com/

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。

Swagger介绍

前后端分离开发模式中,api文档是最好的沟通方式。

Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。

1、及时性 (接口变更后,能够及时准确地通知相关前后端开发人员)

2、规范性 (并且保证接口的规范性,如接口的地址,请求方式,参数及响应格式和错误信息)

3、一致性 (接口信息一致,不会出现因开发人员拿到的文档版本不一致,而出现分歧)

4、可测性 (直接在接口文档上进行测试,以方便理解业务)

集成knife4j

1 添加依赖

<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId>
</dependency>

2 添加knife4j配置类

/*** knife4j配置信息*/
@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfig {@Beanpublic Docket adminApiConfig(){List<Parameter> pars = new ArrayList<>();ParameterBuilder tokenPar = new ParameterBuilder();tokenPar.name("token").description("用户token").defaultValue("").modelRef(new ModelRef("string")).parameterType("header").required(false).build();pars.add(tokenPar.build());//添加head参数endDocket adminApi = new Docket(DocumentationType.SWAGGER_2).groupName("adminApi").apiInfo(adminApiInfo()).select()//只显示admin路径下的页面.apis(RequestHandlerSelectors.basePackage("com.xxx")).paths(PathSelectors.regex("/admin/.*")).build().globalOperationParameters(pars);return adminApi;}private ApiInfo adminApiInfo(){return new ApiInfoBuilder().title("后台管理系统-API文档").description("本文档描述了后台管理系统微服务接口定义").version("1.0").contact(new Contact("", "http://.com", "@qq.com")).build();}}

3 Controller层添加注解

@Api(tags = "角色管理")
@RestController
@RequestMapping("/admin/system/sysRole")
public class SysRoleController {@Autowiredprivate SysRoleService sysRoleService;@ApiOperation(value = "获取全部角色列表")@GetMapping("findAll")public Result<List<SysRole>> findAll() {List<SysRole> roleList = sysRoleService.list();return Result.ok(roleList);}
}

4、测试
http://localhost:端口号/doc.html
在这里插入图片描述
注意:若报错:
Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
参考链接:整合Knife4j报错Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.N


http://www.ppmy.cn/news/911931.html

相关文章

Redis进阶底层原理-Cluster集群底层

Redis实现高可用的方案有很多中&#xff0c;先了解下高可用和分区的概念&#xff1a; 高可用是指系统在面对硬件故障、网络故障、软件错误等意外问题时&#xff0c;仍能给客户端提供正常的服务&#xff0c;尽量的减少服务的阻塞、终端现象。在高可用的方案中一般会采用冗余备份…

i910980hk和 i9-10900K哪个好

由于i9-10900K是桌面处理器&#xff0c;基本不需要考虑节能和散热问题&#xff0c;因此默频下性能比10980HK高。 我的笔记本就是活动时8折抢购的https://list.jd.com/list.html? 英特尔 i9-10900K为 10 核 20 线程&#xff0c;主频 3.7GHz&#xff0c;睿频最高可达 5.3GHz&am…

A14性能超酷睿i9,ARM终于超越了Intel

苹果最新发布的A14处理器性能比去年的A13提升了16%&#xff0c;而去年的A13处理器已与Intel的顶级PC处理器酷睿i9-10920X相当&#xff0c;如此一来A14处理器的性能应该已超过Intel的酷睿i9处理器。 如今推出的Geekbench5的分数作出了很大调整&#xff0c;故以去年的Geekbench4测…

Gigabyte GA-Z790-UD i9-13900黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。 硬件型号驱动情况 主板Dell-Latitude-E7490 处理器13th Gen Intel i9-13900已驱动 内存32GB * 2&#xff08;DDR5-6000&#xff09;已驱动 硬盘Samsung SSD 970 EVO 1TB已驱动 显卡AMD Radeon RX 6900 XT已驱动 声卡…

Gigabyte Z490 Vision D i9-10900k电脑 Hackintosh 黑苹果efi引导文件

原文来源于黑果魏叔官网&#xff0c;转载需注明出处。&#xff08;下载请直接百度黑果魏叔&#xff09; 硬件型号驱动情况 主板Gigabyte Z490 Vision D 处理器Intel i9-10900k已驱动 内存64GB G.Skill Trident Z 3600Mhz CL18已驱动 硬盘西数 WDS250G3X0C-00SJG0 ( SN750) …

第八十六回:自定义字体图标

文章目录 概念介绍实现方法示例代码相关推荐 我们在上一章回中字体图标相关的内容&#xff0c;本章回中将介绍 如何自定义字体图标.闲话休提&#xff0c;让我们一起Talk Flutter吧。 概念介绍 我们在本章回中说的自定义字体图标本质上是对字体图标进行封装&#xff0c;让它的…

Html利用Canvas绘制图形

今天接到粉丝私信&#xff0c;询问是否可以通过Canvas绘制一些图形&#xff0c;然后根据粉丝提供的模板图&#xff0c;通过Canvas进行模拟绘制&#xff0c;通过分析发现&#xff0c;图形虽然相对简单&#xff0c;但是如果不借助相应的软件&#xff0c;纯代码绘制还是稍微费些时…

【Tensorflow】TensorFlow的嵌入layer和多层layer

计算图中的操作 # python 3.6 import tensorflow as tf import numpy as npsess tf.Session()# 将张量和占位符对象组成一个计算图&#xff0c;创建一个简单的分类器# 一、计算图中的操作 # 1. 声明张量和占位符&#xff0c;创建numpy数组&#xff0c;传入计算图操作 x_vals …