当前位置: 首页 > news >正文

Spring Boot集成Swagger3.0,Knife4j导出文档

文章目录

  • Spring Boot集成Swagger3.0,Knife4j导出文档
    • 效果展示
    • 如何使用
      • 简要说明
      • 添加依赖
      • 添加配置类
      • 测试接口
      • token配置位置

官网
说明情况
demo

Spring Boot集成Swagger3.0,Knife4j导出文档

效果展示

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

如何使用

简要说明

Knife4j的前身是swagger-bootstrap-ui,前身swagger-bootstrap-ui是一个纯swagger-ui的ui皮肤项目

一开始项目初衷是为了写一个增强版本的swagger的前端ui,但是随着项目的发展,面对越来越多的个性化需求,不得不编写后端Java代码以满足新的需求,在swagger-bootstrap-ui的1.8.5~1.9.6版本之间,采用的是后端Java代码和Ui都混合在一个Jar包里面的方式提供给开发者使用.这种方式虽说对于集成swagger来说很方便,只需要引入jar包即可,但是在微服务架构下显得有些臃肿。

因此,项目正式更名为knife4j,取名knife4j是希望她能像一把匕首一样小巧,轻量,并且功能强悍,更名也是希望把她做成一个为Swagger接口文档服务的通用性解决方案,不仅仅只是专注于前端Ui前端.

swagger-bootstrap-ui的所有特性都会集中在knife4j-spring-ui包中,并且后续也会满足开发者更多的个性化需求.

主要的变化是,项目的相关类包路径更换为com.github.xiaoymin.knife4j前缀,开发者使用增强注解时需要替换包路径

后端Java代码和ui包分离为多个模块的jar包,以面对在目前微服务架构下,更加方便的使用增强文档注解(使用SpringCloud微服务项目,只需要在网关层集成UI的jar包即可,因此分离前后端)

knife4j沿用swagger-bootstrap-ui的版本号,第1个版本从1.9.6开始,关于使用方法,请参考文档。

添加依赖

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

添加配置类

package com.geekmice.sbhelloworld.config;import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;/*** @BelongsProject: spring-boot-scaffold* @BelongsPackage: com.geekmice.sbhelloworld.config* @Author: pingmingbo* @CreateTime: 2023-07-30  15:45* @Description: TODO* @Version: 1.0*/
@Configuration
public class Knife4jConfig {@Bean(value = "defaultApi2")public Docket customDocket() {return new Docket(DocumentationType.SWAGGER_2).apiInfo(apiInfo()).select().apis(RequestHandlerSelectors.basePackage("com.geekmice.sbhelloworld.controller")).build();}/*** 构建 api文档的详细信息函数* @return*/private ApiInfo apiInfo() {return new ApiInfoBuilder().title("现货交易").version("1.0.0").description("现货交易详情").contact(new Contact("geekmice","http://geekmice.cn","2437690868@qq.com")).build();}
}

测试接口

package com.geekmice.sbhelloworld.controller;import com.geekmice.common.annota.MethodExporter;
import com.geekmice.common.utils.AjaxResult;
import com.geekmice.sbhelloworld.entity.User;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;import java.util.Map;/*** @BelongsProject: spring-boot-scaffold* @BelongsPackage: com.geekmice.sbhelloworld.sbeasypoi.controller* @Author: pingmingbo* @CreateTime: 2023-04-19  08:45* @Description: hello控制层* @Version: 1.0*/
@RestController
@RequestMapping(value = "/hello")
@Slf4j
@Api(tags = "测试路由")
public class HelloController {@GetMapping(value = "/get")@ApiOperation("测试get")public String get() {return "hello world";}}

token配置位置

在这里插入图片描述
自己上线一个视频网站,有时间的话,可以看一下 小松鼠
多谢各位技术大佬多多指点。

相关文章:

Spring Boot集成Swagger3.0,Knife4j导出文档

文章目录 Spring Boot集成Swagger3.0,Knife4j导出文档效果展示如何使用简要说明添加依赖添加配置类测试接口token配置位置 官网 说明情况 demo Spring Boot集成Swagger3.0,Knife4j导出文档 效果展示 如何使用 简要说明 Knife4j的前身是swagger-bootstrap-ui,前身swagger-boo…...

在.NET Framework中的连接字符串ConnectionStrings属性

在.NET Framework中&#xff0c;ConfigurationManager.ConnectionStrings属性是用来访问在Visual Studio IDE应用程序配置文件中配置的数据库连接字符串的。每个连接字符串在Visual Studio IDE配置文件中都以<add>元素的形式出现&#xff0c;该元素是<connectionStrin…...

kafka消费报错卡死:内存溢出OutOfMemoryError: Java heap space

文章目录 现象排查解决 现象 我们信控平台使用Java语言开发&#xff0c;Spring Cloud微服务架构&#xff0c;采用容器化部署&#xff0c;所有服务都部署在docker里面&#xff0c;使用docker-compose进行管理&#xff0c;使用portainer进行监控平台部署客户现场后&#xff0c;一…...

mac卸载与安装指定版本node

一、查看当前node.js版本 node -v 二、卸载当前node.js # 这里是卸载npm的 sudo npm uninstall npm -g# 这里是用来删除node创建的各种文件夹 sudo rm -rf /usr/local/lib/node sudo rm -rf /usr/local/lib/node_modules sudo rm -rf /var/db/receipts/org.nodejs.* sudo rm…...

机器学习深度学习——Dropout

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——权重衰减 &#x1f4da;订阅专栏&#xff1a;机器学习&&深度学习 希望文章对你们有所帮助 Drop…...

Intel和AMD 与 x86,ARM,MIPS有什么区别?

先说amd和intel amd和Intel这俩公司的渊源很深&#xff0c;早期时Intel先是自己搞了个x86架构&#xff0c;然后amd拿到了x86的授权也可以自己做x86了。接着intel向64位过渡的时候自己搞了个ia64&#xff08;x64架构&#xff09;但是因为和x86架构不兼容市场反应极差&#xff0…...

QT编写的串口助手

QT编写的串口助手 提前的知识 创建UI界面工程 找帮助文档 添加串口的宏...

C语言字符串的处理

用惯了Java C#这些语言&#xff0c;C语言中处理字符串还是有些不习惯的&#xff0c;所以这里写一下学习笔记。 C中字符串就是字符数组&#xff0c;是指向字符的指针&#xff0c;并且以空字符 \0 结尾&#xff0c;字符串作为函数的参数传递时一般使用指针类型&#xff0c;使用数…...

Docker 阿里云容器镜像服务

阿里云-容器镜像服务ACR 将本地/服务器docker image&#xff08;镜像&#xff09;推送到 阿里云容器镜像服务仓库 1. 在容器镜像服务ACR中创建个人实例 2. 进入个人实例 > 命名空间 创建命名空间 3. 进入个人实例 > 镜像仓库 创建镜像仓库 4. 进入镜像仓库 > 基本信…...

10kV 电力电缆交流耐压试验方案

...

【雕爷学编程】MicroPython动手做(20)——掌控板之三轴加速度6

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

链路 聚合

静态链路聚合&#xff1a;多数内网使用 。非物理直连建议与BFD联动 动态链路聚合LACP&#xff1a;是公有协议、内网、二层专线接口都能使用&#xff0c;现网多数使用此方式链路 聚合 PAGP&#xff1a;思科私有协议&#xff0c;只支持思科设备使&#xff0c;现网多数不用...

DPN(Dual Path Network)网络结构详解

论文&#xff1a;Dual Path Networks 论文链接&#xff1a;https://arxiv.org/abs/1707.01629 代码&#xff1a;https://github.com/cypw/DPNs MXNet框架下可训练模型的DPN代码&#xff1a;https://github.com/miraclewkf/DPN 我们知道ResNet&#xff0c;ResNeXt&#xff0c;D…...

【转载】Gin框架优雅退出

转载自&#xff1a; https://juejin.cn/post/7212786062224146487 Gin是一个非常流行的Web框架&#xff0c;经常被用于构建高性能、易于维护的Web应用。在领域驱动设计&#xff08;DDD&#xff09;和微服务等方面也有广泛应用。但是&#xff0c;像其他应用程序一样&#xff0c;…...

【数字IC设计】VCS仿真DesignWare IP

DesignWare介绍 DesignWare是SoC/ASIC设计者最钟爱的设计IP库和验证IP库。它包括一个独立于工艺的、经验证的、可综合的虚拟微架构的元件集合&#xff0c;包括逻辑、算术、存储和专用元件系列&#xff0c;超过140个模块。DesignWare和 Design Compiler的结合可以极大地改进综合…...

【*1900 图论+枚举思想】CF1328 E

Problem - E - Codeforces 题意&#xff1a; 思路&#xff1a; 注意到题目的性质&#xff1a;满足条件的路径个数是极少的&#xff0c;因为每个点离路径的距离<1 先考虑一条链&#xff0c;那么直接就选最深那个点作为端点即可 为什么&#xff0c;因为我们需要遍历所有点…...

AutoSAR系列讲解(实践篇)10.5-通信管理模块

目录 一、ComM 1、内部唤醒 2、外部唤醒 二、CanSM 三、状态关联 之前讲解了BswM和EcuM,详细讲解了BswM的配置,而大部分的配置都在BswM中做了,EcuM的配置就很简单了,基本上勾一勾就ok了。下面我们 来讲解模式管理还可能用到的通信模块 一、ComM ComM就像一个通信的总…...

2023.7.30(epoll实现并发服务器)

服务器 #include <arpa/inet.h> #include <netinet/in.h> #include <netinet/ip.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/epoll.h> #include <sys/socket.h> #include <sys/types.…...

小研究 - 基于解析树的 Java Web 灰盒模糊测试(一)

由于 Java Web 应用业务场景复杂, 且对输入数据的结构有效性要求较高, 现有的测试方法和工具在测试Java Web 时存在测试用例的有效率较低的问题. 为了解决上述问题, 本文提出了基于解析树的 Java Web 应用灰盒模糊测试方法. 首先为 Java Web 应用程序的输入数据包进行语法建模创…...

SpringBoot接手JSP项目--【JSB项目实战】

SpringBoot系列文章目录 SpringBoot知识范围-学习步骤【JSB系列之000】 文章目录 SpringBoot系列文章目录[TOC](文章目录) SpringBoot技术很多很多工作之初&#xff0c;面临JSP的老项目我要怎么办环境及工具&#xff1a;项目里可能要用到的技术JSPjstl其它的必要知识 上代码WE…...

Windows 11 任务栏透明美化神器:TranslucentTB 完全使用指南

Windows 11 任务栏透明美化神器&#xff1a;TranslucentTB 完全使用指南 【免费下载链接】TranslucentTB A lightweight utility that makes the Windows taskbar translucent/transparent. 项目地址: https://gitcode.com/gh_mirrors/tr/TranslucentTB 想要让 Windows …...

拆解 OpenHands(11)--- Runtime主要组件

本篇继续对 runtime 的解读&#xff0c;主要介绍 插件、执行系统和环境这三个组件。因为本系列借鉴的文章过多&#xff0c;可能在参考文献中有遗漏的文章&#xff0c;如果有&#xff0c;还请大家指出。0x01 三大组件本篇要介绍的几个组件如下&#xff1a;ActionExecutor&#x…...

从报文周期到安全状态:ISO26262通信故障诊断的5个关键时间参数详解

从报文周期到安全状态&#xff1a;ISO26262通信故障诊断的5个关键时间参数详解 在智能驾驶系统快速发展的今天&#xff0c;确保车辆电子系统的功能安全已成为行业共识。ISO26262作为汽车功能安全的黄金标准&#xff0c;其核心在于建立一套完整的故障诊断与处理机制。本文将深入…...

如何永久保存微信聊天记录?WeChatMsg免费工具终极指南

如何永久保存微信聊天记录&#xff1f;WeChatMsg免费工具终极指南 【免费下载链接】WeChatMsg 提取微信聊天记录&#xff0c;将其导出成HTML、Word、CSV文档永久保存&#xff0c;对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/WeCha…...

探索内转子MotorCAD电机模型:面包型永磁体的独特魅力

内转子motorcad电机模型&#xff0c;电机永磁体采用面包型&#xff0c;额定转速3000&#xff0c;可用于后续的优化设计&#xff0c;送motorcad中文手册。最近在研究电机这块&#xff0c;发现了一个超有意思的内转子MotorCAD电机模型&#xff0c;今天来和大家唠唠。这个模型的电…...

Fun-Rec:从零到一构建推荐系统的完整学习路径

Fun-Rec&#xff1a;从零到一构建推荐系统的完整学习路径 【免费下载链接】fun-rec 推荐系统入门教程&#xff0c;在线阅读地址&#xff1a;https://datawhalechina.github.io/fun-rec/ 项目地址: https://gitcode.com/datawhalechina/fun-rec 当推荐系统成为互联网产品…...

8.3ES-OAS-ERP-电子政务-企业信息化

一、专家系统 &#xfeff;00:00 定义&#xff1a;基于知识的专家系统是人工智能的重要分支&#xff0c;其能力来源于专家知识&#xff0c;通过知识表示和推理方法实现应用。与传统程序区别&#xff1a; 属于AI范畴&#xff0c;解决半结构化/非结构化问题模拟专家推理而非问题本…...

OpenClaw+Qwen3.5-4B-Claude镜像:30分钟搭建逻辑推理自动化工作流

OpenClawQwen3.5-4B-Claude镜像&#xff1a;30分钟搭建逻辑推理自动化工作流 1. 为什么需要逻辑推理自动化 上周我遇到一个典型的技术问题&#xff1a;需要从200多行Python日志中找出导致接口超时的根本原因。手动排查不仅耗时&#xff0c;还容易遗漏关键线索。这让我开始思考…...

i18n-node快速入门:10个简单步骤实现应用国际化 [特殊字符]

i18n-node快速入门&#xff1a;10个简单步骤实现应用国际化 &#x1f30d; 【免费下载链接】i18n-node Lightweight simple translation module for node.js / express.js with dynamic json storage. Uses common __(...) syntax in app and templates. 项目地址: https://g…...

实测避坑:用华为Atlas 300I DUO推理卡跑Qwen1.5-14B,性能对比3090和配置踩坑全记录

华为Atlas 300I DUO推理卡实战评测&#xff1a;Qwen1.5-14B部署全流程与性能深度对比 当国产AI加速卡遇上千亿参数大模型&#xff0c;会碰撞出怎样的火花&#xff1f;最近半年&#xff0c;我陆续测试了市面上主流的7款推理加速设备&#xff0c;这次终于轮到华为Atlas 300I DUO这…...