springboot项目快速引入knife4j
- 引入依赖
<dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version>
</dependency>
- knife4j配置文件
basePackage改为自己存放接口的包名
/*** Knife4j 接口文档配置* https://doc.xiaominfo.com/knife4j/documentation/get_start.html**/
@Configuration
@EnableSwagger2
@Profile({"dev", "test"})
public class Knife4jConfig {@Beanpublic Docket defaultApi2() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(new ApiInfoBuilder().title("接口文档").description("knife4j-demomo").version("1.0").build()).select()// 指定 Controller 扫描包路径.apis(RequestHandlerSelectors.basePackage("com.example.knife4jdemo.demos.web")).paths(PathSelectors.any()).build();}
}
- 启动项目,访问http://localhost:8080/doc.html

如果启动项目的时候启动失败了,报的错可能是
org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException
这个错误在springboot版本>=2.6.0的时候会引起,解决办法:
①、降低springboot版本
②、在application.yml中加入
spring:# 支持 swagger3mvc:pathmatch:matching-strategy: ant_path_matcher
上述knife4j基于Swagger2.0,OpenAPI3.0是swagger是Swagger2.0的升级版,一般来说,建议使用OpenAPI3.0,下一篇文章介绍基于OpenAPI3.0的knife4j
相关文章:
springboot项目快速引入knife4j
引入依赖 <dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-spring-boot-starter</artifactId><version>3.0.3</version> </dependency>knife4j配置文件 basePackage改为自己存放接口的包名 /*** Kn…...
SpringBlade微服务开发平台
采用前后端分离的模式,前端开源两个框架:Sword (基于 React、Ant Design)、Saber (基于 Vue、Element-UI)后端采用SpringCloud全家桶,并同时对其基础组件做了高度的封装,单独开源出一个框架:BladeToolBladeTool已推送至…...
【运维】Ubuntu18.04系统docker方式安装ElasticSearch和kibana
前言 最近需要搭建一套测试环境,用到了ElasticSearch( 简称es)搜索引擎,安装过程有些曲折,记录下来作为经验。 正文 环境 Ubuntu18.04 操作系统Docker Server Version: 20.10.7ElasticSearch Version: 8.5.3Kibana Version: 8.5.3 说明 E…...
五种单例模式
在整个程序中,保持只有一个实例对象,就是单例模式。 单例模式可以减少构建,GC的次数,提升性能,还能减少堆内存的开销。 1. 懒汉式 在需要使用对象的时候,才进行创建 通过private构造方法,确保…...
【ceph】ceph关于清洗数据scrub的参数分析
本站以分享各种运维经验和运维所需要的技能为主 《python零基础入门》:python零基础入门学习 《python运维脚本》: python运维脚本实践 《shell》:shell学习 《terraform》持续更新中:terraform_Aws学习零基础入门到最佳实战 《k8…...
自然语言NLP学习
2-7 门控循环单元(GRU)_哔哩哔哩_bilibili GRU LSTM 双向RNN CNN 卷积神经网络 输入层 转化为向量表示 dropout ppl 标量 在物理学和数学中,标量(Scalar)是一个只有大小、没有方向的量。它只用一个数值就可以完全…...
js实现填涂画板
文章目录 1实现效果2 实现代码 凑个数,存粹是好玩儿,哈哈... 1实现效果 最上方一栏: 左侧是颜色按钮,点击选中颜色, 中间是功能按钮,重置颜色、清空画板、回退、涂改液(填涂色置为白色ÿ…...
springboot农机电招平台源码和论文
随着农机电招行业的不断发展,农机电招在现实生活中的使用和普及,农机电招行业成为近年内出现的一个新行业,并且能够成为大群众广为认可和接受的行为和选择。设计农机电招平台的目的就是借助计算机让复杂的销售操作变简单,变高效。…...
TensorFlow 深度学习 开发环境搭建 全教程
PyTorch 深度学习 开发环境搭建 全教程 TensorFlow 深度学习 开发环境搭建 全教程 1、指定清华源命令 -i https://pypi.tuna.tsinghua.edu.cn/simple2、conda安装 这是AI开发环境的全家桶,官网下载链接Anaconda | Start Coding Immediately 尽量不要选择太新版本…...
Qt —— QCharts之曲线示波器(附源码)
示例效果 介绍 Qt5.7 版本后 Qt Charts 的发布。Qt Charts可以创建时尚的、交互式的、以数据为中心的用户界面。Qt Charts使用Qt Charts来简化集成。图表组件可以用作或对象或QML类型。 该类管理不同类型的系列和其他图表相关对象(如图例和轴)的图形表示形式。是一个可以在 .…...
【秒剪】如何更换视频画幅比例以及画面背景?
Step1:点击上方显示的画幅比例 Step2:在下方选择合适的视频画幅或更换画面背景 Step3:点击上方【填充方式】 Step4:选择合适的填充方式即可 Step5:点击这里即可自定义视频背景...
HarmonyOS鸿蒙学习笔记(23)监听Wifi状态变化
监听Wifi状态变化 前言创建接收状态变化的Bean对象创建订阅者和订阅事件参考资料: 前言 本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念,官网有详细说明,再次就不在赘述。博文相关项目…...
mac 安装配置oh-my-zsh
1. 安装brew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" 按照步骤安装即可 安装完成查看版本 brew -v 2. 安装zsh brew install zsh 查看版本 zsh --version 3. 安装oh-my-zsh github官网链…...
[pytorch入门] 2. tensorboard
tensorboard简介 TensorBoard 是一组用于数据可视化的工具。它包含在流行的开源机器学习库 Tensorflow 中.但是也可以独立安装,服务Pytorch等其他的框架 可以常常用来观察训练过程中每一阶段如何输出的 安装pip install tensorboard启动tensorboard --logdir<d…...
基于卡尔曼滤波的平面轨迹优化
文章目录 概要卡尔曼滤波代码主函数代码CMakeLists.txt概要 在进行目标跟踪时,算法实时测量得到的目标平面位置,是具有误差的,连续观测,所形成的轨迹如下图所示,需要对其进行噪声滤除。这篇博客将使用卡尔曼滤波,对轨迹进行优化。 优化的结果为黄色线。 卡尔曼滤波代码…...
GBASE南大通用分享如何更新嵌套的集合
如果您想要更新集合的集合,则必须声明游标来访问外层的集合,然后声明嵌套的游标来 访问内层的集合。 例如,假设 manager 表有一附加的列 scores,它包含一其元素类型为整数的 MULTISET 的 LIST,如下图所示。 更新集合…...
Maya------插入循环边
11.maya 常用建模命令1.插入循环边 多切割_哔哩哔哩_bilibili 与边相对距离 逐渐变化...
Nginx_入门
系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 Nginx_入门 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、Nginx概述二、Nginx的应用…...
坚持刷题 | 平衡二叉树
文章目录 题目考察点代码实现实现总结对实现进一步改进扩展提问 坚持刷题,老年痴呆追不上我,今天继续二叉树:平衡二叉树 题目 110.平衡二叉树 考察点 递归能力: 能否使用递归来解决问题。树的基本操作:能否正确地访…...
江大白 | 万字长文图解Numpy教程,看这一篇就够了!
本文来源公众号“江大白”,仅用于学术分享,侵权删,干货满满,有超级详细的图解。 原文链接:万字长文图解Numpy教程,看这一篇就够了! (qq.com) 以下文章来源于博客:Medium 作者&…...
3分钟搞定网易云音乐加密文件:NCMD解密工具终极指南
3分钟搞定网易云音乐加密文件:NCMD解密工具终极指南 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐的NCM加密文件无法在其他播放器播放而烦恼吗?今天我要为你介绍一款简单高效的音频解密神器…...
Axure RP 10实战:3分钟搞定Tab切换效果(附交互样式设置技巧)
Axure RP 10高级Tab切换效果:从基础实现到专业级交互设计 在当今快节奏的数字化产品设计领域,Tab切换作为最常见的用户界面元素之一,其交互体验的优劣直接影响用户对产品的第一印象。Axure RP 10作为行业领先的原型设计工具,提供了…...
低成本搭建AI知识库:Qwen3-Embedding-4B量化版仅需3GB显存教程
低成本搭建AI知识库:Qwen3-Embedding-4B量化版仅需3GB显存教程 1. 引言:为什么选择Qwen3-Embedding-4B? 在构建AI知识库时,文本向量化模型的选择至关重要。传统方案要么性能不足,要么资源消耗过大。Qwen3-Embedding-…...
Andi活码,最简单好用!
上链接: https://app.andi.cn/qr/ 试用过这么多群聊二维码的活码工具。 真正好用的是我推荐的这款Andi活码。 免登录、打开即用。单屏管理,超简单好用。 优威科技有限公司出品。 承诺永久免费长期支持。 稳定可靠好用! 不信我来用一下…...
专业级视频对比分析工具:video-compare的技术架构深度解析
专业级视频对比分析工具:video-compare的技术架构深度解析 【免费下载链接】video-compare Split screen video comparison tool using FFmpeg and SDL2 项目地址: https://gitcode.com/gh_mirrors/vi/video-compare 在视频编码质量评估、算法效果验证和媒体…...
策划和程序不再打架:Unity+Excel打造可视化游戏数据配置工作流
Unity与Excel深度整合:构建高效游戏数据配置系统 在中小型游戏开发团队中,策划与程序之间的数据流转往往是效率瓶颈所在。策划需要频繁调整数值平衡,而程序员则疲于应对无尽的配置表更新请求。这套基于UnityExcel的工作流解决方案,…...
NMPC轨迹跟踪:从非线性模型构建到Simulink闭环仿真
1. 非线性模型预测控制(NMPC)基础入门 第一次接触NMPC时,我也被那些数学公式吓到了。但后来发现,它其实就是个"会看地图的老司机"——通过预测未来几步的路况,提前调整方向盘。与传统的MPC相比,N…...
告别内存焦虑:用DiskANN在单机上搞定十亿向量检索的完整配置与调优指南
告别内存焦虑:用DiskANN在单机上搞定十亿向量检索的完整配置与调优指南 当你的推荐系统需要处理超过1亿条商品特征向量,或是生物医药团队要匹配数十亿分子结构时,传统内存索引方案会让服务器内存条价格直接突破年度预算。这时DiskANN就像一位…...
高效批处理:一键复制文件/文件夹至当前目录所有子文件夹
1. 为什么需要批量复制文件到子文件夹? 在日常工作中,我经常遇到这样的场景:需要把一个重要文件快速分发到几十甚至上百个子文件夹中。比如给每个项目文件夹添加一份新的规范文档,或者为所有客户目录更新同一份合同模板。手动操作…...
长上下文不可强求:从 Gemini 到 Opus,1M context 为什么还没体现出应有价值
长上下文不可强求:从 Gemini 到 Opus,1M context 为什么还没体现出应有价值 摘要 过去一年,long context 一直是大模型产品最容易被拿来宣传的能力之一。32K 不够,就上 128K;128K 还不够,就上 1M。看起来&a…...
