SpringBoot整合knife4j配置使用直接拷贝即可(快速入门超详细版)

news2024/12/27 13:00:32

1. SpringBoor整合Knife4j添加maven

1.1 第一种maven

        <!--添加Knife4j依赖-->
        <dependency>
            <groupId>com.github.xiaoymin</groupId>
            <artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId>
            <version>4.5.0</version>
        </dependency>

1.2 第2种maven (我用第二种)

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

2. 修改yml文件

# springdoc-openapi项目配置
springdoc:
  swagger-ui:
    path: /swagger-ui.html
    # 排序方式为首字母
    tags-sorter: alpha
    # 使用增强order属性进行排序,或者不设置该参数( @ApiOperationSupport(order = n)直接生效)
    operations-sorter: order
  api-docs:
    path: /v3/api-docs
  group-configs:
    #组名可以自己设置
    - group: 'default'
      paths-to-match: '/**'
      # controller所在包
      packages-to-scan: com.knifej.test.controller
 
# knife4j的增强配置,不需要增强可以不配
knife4j:
  enable: true
  setting:
    language: zh_cn

3. 创建Knife4J配置类

配置类Knife4jConfig,为了避免导错包,把包也给了

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.Contact;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

@Configuration
@EnableSwagger2
public class Knife4jConfig {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        .title("xxx接口说明")
                        .description("xxx接口描述")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact(new Contact("xxx公司", "http://xxx.com/", "xxx@xxx.com"))
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.xxx.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

4. 控制层Controller

package com.eric.springbootknife4j.admin;

import com.eric.springbootknife4j.entity.SwaggerUser;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.ArrayList;
import java.util.List;

/**
 * @author Eric
 * @date 2023-07-31 9:50
 */
@Api(tags = "用户端控制器")
@RestController
@RequestMapping("/admin")
public class AdminController {

    @ApiOperation(value = "获取数据")
    @GetMapping("/test")
    public List<SwaggerUser> test(@ApiParam(name = "id",value = "用户Id") Long id,
                                  @ApiParam(name = "name",value = "用户名称") String name){

        List<SwaggerUser> list = new ArrayList<>();
        list.add(SwaggerUser.builder().id(id).name(name).build());
        return list;
    }
}

 5. 运行项目访问 http://localhost:8080/doc.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2039617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Unity新输入系统 之 PlayerInput(真正的最后封装部分)

本文仅作笔记学习和分享&#xff0c;不用做任何商业用途 本文包括但不限于unity官方手册&#xff0c;unity唐老狮等教程知识&#xff0c;如有不足还请斧正​ 首先你应该了解新输入系统的基本单位和输入配置文件 Unity新输入系统 之 InputAction&#xff08;输入配置文件最基本的…

6 款最佳付费和免费 iPhone 解锁应用和软件

iPhone解锁应用程序是一种可以不受任何限制地移除 iOS 设备上不同类型锁的工具。iPhone 可能受锁屏密码、Apple ID 密码、屏幕使用时间密码、iCloud 激活锁、MDM 等保护。如果您忘记了密码&#xff0c;您将无法使用设备或无法完全访问您的 iPhone。幸运的是&#xff0c;有软件可…

跨平台控制神器Escrcpy,您的智能生活助手

Escrcpy 是一款基于 Scrcpy 开发的图形化安卓手机投屏控制软件&#xff0c;它允许用户将 Android 手机屏幕实时镜像到电脑上&#xff0c;并使用电脑的鼠标和键盘直接操作手机&#xff0c;实现了无线且高效的操控。这款软件是免费开源的&#xff0c;支持跨平台使用&#xff0c;包…

2024 年可免费下载的 6 款最佳 iOS 解锁软件

众所周知&#xff0c;如果所有者或其他人多次输入错误密码&#xff0c;iOS 会锁定并禁用 iPhone 或 iPad。Apple 推出了使用 iTunes/Finder、iCloud 或其他 iOS 设备解锁已禁用设备的方法。但是&#xff0c;每种方法都需要一些先决条件&#xff0c;例如 Apple 密码。在这种情况…

Unity使用代码生成ScriptableObject数据并赋值之后,重启数据就没有啦!

2024年8月14日早&#xff0c;因数据持续化存储&#xff0c;重启电脑后数据会丢失&#xff0c;而我找不到原因被领导质疑了&#xff0c;故写一片博客记录这个错误。 省流 使用在编辑器的play模式中为ScriptableObject赋值之后&#xff0c;需要使用 #if UNITY_EDITORUnityEdit…

GLCIC:全局和局部一致的图像补全

GLCIC&#xff1a;全局和局部一致的图像补全 前言相关介绍GLCIC 的工作原理核心思想主要组件训练目标 优点缺点总结 实验环境项目地址LinuxWindows 项目结构具体用法准备数据集进行训练进行测试 参考文献 前言 由于本人水平有限&#xff0c;难免出现错漏&#xff0c;敬请批评改…

四十一、大数据技术之Kafka3.x(4)

&#x1f33b;&#x1f33b; 目录 一、Kafka 消费者1.1 Kafka 消费方式1.2 Kafka 消费者工作流程1.2.1 消费者总体工作流程1.2.2 消费者组原理1.2.3 消费者重要参数 1.3 消费者 API1.3.1 独立消费者案例&#xff08;订阅主题&#xff09;1.3.2 独立消费者案例&#xff08;订阅分…

基于SpringBoot+Vue框架的租车管理系统

文章目录 一、项目介绍二、项目类型三、技术栈介绍1.客户端技术栈2.服务端技术栈 四、项目创新点五、项目功能介绍1.客户端功能2.服务端功能 六、项目的主要截图页面如下展示1.客户端展示2.服务端展示 七、项目源码 一、项目介绍 ​大家好&#xff0c;我是执手天涯&#xff0c;…

找出字符串中第一个匹配项的下标 | LeetCode-28 | KMP算法 | next数组 | Java详细注释

&#x1f64b;大家好&#xff01;我是毛毛张! &#x1f308;个人首页&#xff1a; 神马都会亿点点的毛毛张 &#x1f579;️KMP算法练习题 LeetCode链接&#xff1a;28. 找出字符串中第一个匹配项的下标 文章目录 1.题目描述&#x1f347;2.题解&#x1f349;2.1 暴力解法&a…

【树的遍历】

题目 代码 #include<bits/stdc.h> using namespace std;const int N 40;int in[N], pos[N]; //中序、后序 int idx[N]; //中序的值->索引 unordered_map<int, int> l, r; //根节点的左、右树根节点 int n; int build(int il, int ir, int pl, int pr) {int ro…

【2】MySQL相关概念

一.数据库相关概念 二.MySQL数据库

软件接口测试有多重要?专业软件测试公司接口测试流程分享

在当今软件开发的各个阶段&#xff0c;软件接口测试无疑是一个极其重要的环节。接口测试主要针对软件系统与外部环境之间的交互部分&#xff0c;包括API、Web服务、中间件等。在现代软件架构中&#xff0c;接口的稳定性和一致性直接关系到系统的整体性能和用户体验。因此&#…

掌握电容器:详解其工作原理、分类、应用及测试技巧

电容器是一种不可或缺的基础元件。它们广泛应用于各种电路设计中&#xff0c;从简单的滤波电路到复杂的电源管理系统&#xff0c;无处不在。在此&#xff0c;道合顺将一一阐述其基本原理、分类、应用以及测试好坏方法&#xff0c;帮助读者们更清楚了解这一重要组件。 1、电容器…

如何利用YOLOv8训练自己的数据集 3种加载模型场景讲解

文章目录 前言1、环境搭建2、YOLOv8训练3、官网训练文档3.1、官网示例3.2、三种加载模型场景3.2.1、从YAML文件构建新模型3.2.2、从预训练权重构建模型3.2.3、从YAML文件构建新模型&#xff0c;并将预训练权重转移到新模型 4、总结5、目标检测系列文章 前言 本文主要介绍一下如…

linux 文件编程

标准IO和文件IO是计算机编程中用于处理输入/输出&#xff08;Input/Output&#xff0c;简称IO&#xff09;操作的两种不同方式&#xff0c;它们各自具有不同的特点和使用场景。 一、定义与特点 标准IO&#xff1a; 定义&#xff1a;标准IO通常指的是C语言提供的标准库中的IO…

第八季完美童模全球总冠军·韩嘉潞 破浪扬帆写就传奇

梦想的舞台上&#xff0c;星光璀璨&#xff0c;每一步都闪耀着坚持与努力的光芒。在这个盛夏&#xff0c;我们共同见证了一个关于勇气、才华与梦想的辉煌篇章——星光女孩韩嘉潞&#xff0c;在第八季完美童模的璀璨舞台上&#xff0c;以非凡的魅力与不懈的努力&#xff0c;勇夺…

奥运冠军郑钦文:荣耀与激励!

&#x1f396;️巴黎奥运的荣耀时刻&#xff0c;属于郑钦文&#xff01; 在巴黎奥运会的赛场上&#xff0c;郑钦文以无比的坚韧和卓越的技艺&#xff0c;一路过关斩将&#xff0c;最终登上了冠军的宝座&#xff01; 我们借助以下图片中的方法&#xff0c;将她在赛后视频发言中…

音频转换软件哪个好?试试这5款

潍坊新青年音乐节燃爆现场&#xff0c;音符跳跃间&#xff0c;想不想把最爱的现场Live一键转成手机铃声&#xff1f;别急&#xff0c;寻找免费电脑音频转换软件的你来对地方了&#xff01; 告别繁琐&#xff0c;5款专业级利器大放送&#xff0c;今天我来告诉你们&#xff1a;电…

阿里云-java调用短信服务,第三方接口的开启(傻瓜式教程)

第一步&#xff1a;在浏览器中&#xff0c;搜索阿里云 第二步&#xff1a;打开aly的主页 第三步&#xff1a;在最上方的导航栏中&#xff0c;找到云市场&#xff0c;注意不要点击&#xff0c;会自动有触发悬浮框出现&#xff0c;在悬浮框中找到 短信 第四步&#xff1a;点击 短…

Secure Coding in C and C ++ (三)关于语法与指针的感悟

上一篇文章中&#xff0c;我们讲了一些关于编译和链接以及基础的C知识。详情请见文章 SecureCoding in C and C&#xff08;二&#xff09; 本篇文章将从循环开始写起 1 循环 1. 1 for 先来个简单的例子&#xff1a; 打印hello world 五次&#xff1a; 很简单的吧 for循环的…