swagger+Knife4j学习

超简单配置接口文档Swagger和Knife4j教程 如何配置Swagger 3.0和Knife4j 3.0版本,建议使用Knife4j,因为它的前身是swagger-bootstrap-ui,是在Swagger的基础上进行了界面的优化 阅读详情

简介

Knife4j就是美化Swagger,更加好看。Swagger界面真欣赏不来。
这是Knife4j界面,是不是好看一些呢
在这里插入图片描述

快速开始

Knife4j已经默认集成了,springfox了,所以就不要再次引入了。
在这里插入图片描述
pom

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

配置类


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.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;

@Configuration
@EnableSwagger2WebMvc
public class Knife4jConfiguration {

    @Bean(value = "defaultApi2")
    public Docket defaultApi2() {
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(new ApiInfoBuilder()
                        //.title("swagger-bootstrap-ui-demo RESTful APIs")
                        .description("# swagger-bootstrap-ui-demo RESTful APIs")
                        .termsOfServiceUrl("http://www.xx.com/")
                        .contact("xx@qq.com")
                        .version("1.0")
                        .build())
                //分组名称
                .groupName("2.X版本")
                .select()
                //这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.szh.quartzx.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }
}

注意一点

				//这里指定Controller扫描包路径
                .apis(RequestHandlerSelectors.basePackage("com.szh.quartzx.controller"))

要修改为自己的controller路径。快捷键Ctrl+Shift+Alt+C 复制。不修改,找不到你的controller,入门的人一般会没注意到。

我的cottroller


@Api(tags = "首页模块")
@RestController
public class TestSwaggerController {

    @ApiImplicitParam(name = "name",value = "姓名",required = true)
    @ApiOperation(value = "向客人问好")
    @GetMapping("/sayHi")
    public ResponseEntity<String> sayHi(@RequestParam(value = "name")String name){
        return ResponseEntity.ok("Hi:"+name);
    }

    @ApiOperation("某某某接口")
    @GetMapping("/dddd")
    public VOResp test(DTOReqParam dtoReqParam){
        return new VOResp();
    }
}



@ApiModel("xxxxDTOReqParam")
public class DTOReqParam {

    @ApiModelProperty(value ="描述",example = "张三",required = true)
    private String name;
    @ApiModelProperty(value ="id集合")
    private List<Long> idList;
    @ApiModelProperty(value ="xxxxMap")
    private HashMap<String,String> map;
    }

@ApiModel("xxxxVO")
public class VOResp {

    @ApiModelProperty(value = "名称")
    private String name;
    }

注意一点
@ApiModelProperty(value = “名称”) 这个value是对字段的描述。而name是会重写字段名称。
官方解释

    /**
     * A brief description of this property.
     */
    String value() default "";

    /**
     * Allows overriding the name of the property.
     *
     * @return the overridden property name
     */
    String name() default "";

效果

在这里插入图片描述

Knife4j使用教程(二) -- 配置Swagger相关信息 阅读详情

相关推荐

tree_sitter多语言解析器配置实战指南

本文是一份详细的Tree-sitter多语言解析器配置实战指南。文章从零开始,手把手指导如何搭建Python环境、安装指定版本的tree-sitter库、下载并编译多种语言的语法规则,最终构建一个统一的解析器库。通过实战代码演示了如何初始化解析器、解析代码并遍历语法树,旨在帮助开发者高效处理多语言代码分析任务,并分享了高级技巧与常见问题排坑经验。

weixin_29245767的博客 267

swagger和knife4j详解(快速上手)

本文介绍swagger和knife4j的基本用法。

java全栈工程师 5543

点云体素化算法研究-3.Voxelization 三维模型体素化

体素(voxel)即体积元素的简称,是数字数据在三维空间分割上的最小的单位。体素化就是通过创建三维体素网格来表示三维物体,是一种将无序点云变为有序点云的降采样的空间数据结构方法,便于实现点云的空间卷积。激光雷达(LiDAR)| Open3D:第五节 表面重建-体素化。

周陽讀書 2065

Swagger 和 knife4j | 黑马程序员

Java后端开发必学的 Swagger在线API文档的框架,以及增强版的knife4j。这一篇就够了!

weixin_54232666的博客 3854

【学习笔记】一文搞懂IEPE传感器

本文介绍了IEPE(集成电路压电式)传感器的工作原理及其在振动监测中的应用。通过压电效应原理,IEPE传感器将机械振动转换为电信号,内置电荷放大器将高阻抗电荷信号转换为低阻抗电压信号输出。还介绍了传感器的三轴测量结构、4mA恒流源供电机制以及灵敏度与量程的关系,并通过风扇实验演示了故障诊断过程。实验使用USB-3123采集卡和SRD-1104信号调理器,展示了正常与异常状态下的振动数据差异,验证了IEPE传感器在设备状态监测中的有效性。

m0_62969865的博客 2815

Zynq裸机调试RTL8211FS网卡踩坑记:从ping不通到完美兼容的完整代码修改

本文详细记录了在Zynq平台上使用Xilinx SDK(XSDK)调试RTL8211FS网卡的完整过程,从最初的ping不通问题到最终实现完美兼容的解决方案。通过分析PHY芯片的寄存器配置差异,提供了关键代码修改和调试技巧,帮助开发者快速解决类似问题。

weixin_42550597的博客 419

彻底搞懂Swagger&Knife4j使用方法

本文详细讲解了Swagger和Knife4j用法!

gaohuanjie的专栏 4616

不用编码器也能玩转BLDC?手把手教你反电动势定位实战

本文详细介绍了无刷直流电机(BLDC)的无传感器控制方案——反电动势定位法,通过STM32实战演示如何实现基本控制。文章涵盖核心原理、硬件准备、信号采集技巧及代码实现,特别适合静音风扇、小型机器人等对成本敏感的应用场景,帮助开发者降低硬件成本并提升系统可靠性。

lg888的博客 897

后端整合 Swagger + Knife4j 接口文档

基本的swagger+knife4j接口文档实现

weixin_62371118的博客 632

【AI大模型:前沿】44、大模型+机器人:从自动化工具到通用智能体的技术革命与应用全景

大模型与机器人的融合催生了“具身智能体”,突破传统机器人智能化缺失、功能单一等瓶颈。大模型赋予机器人三大能力:常识推理(如热牛奶需去包装)、模糊指令解析(如“整理书桌”拆解步骤)、零样本任务泛化(如搭乐高桥)。技术实现上,通过多模态融合(视觉-语言-动作)、仿真训练(虚拟试错)和实时反馈(动态调整动作)形成闭环。主流框架如Google RT-2(端到端动作生成)、斯坦福Q-Transformer(强化学习优化)和Figure 01(ChatGPT驱动人形机器人)各具优势,可适配工业、家庭等场景。该技术正重塑

2025博客之星Top81。专注AI工程化与架构实战。从分布式思维到模型部署,用工程化视角为你厘清AI落地的真实路径。 2018

Spring AI Alibaba 项目源码学习(九)-其他继承BaseAgent

本文分析了Spring AI Alibaba Agent Framework中的A2aRemoteAgent实现,主要特点包括: 实现了Agent间的远程调用能力,支持分布式部署 核心组件包括AgentCard封装元数据、A2aNodeActionWithConfig处理调用逻辑、AgentCardProvider提供卡片管理 支持流式调用和状态共享机制 采用Builder模式构建Agent实例 通过指令传递实现Agent间通信 关键流程包括状态提取、请求构建、远程调用和状态更新四个步骤,形成Agent

819

opneAPI规范、Knife4j和Swagger框架学习

Application Programming Interface(API)定义了两个软件之间允许的交互约定规范。大白话 —— 客户端以什么样的协议、方法、传什么样的参数 等信息给服务器,服务器返回什么样的内容给客户端,双方按照这种约定各自做自己的事情,对方怎么实现不用考虑。API 提供信息隐藏:API 的任何一方(调用者和实现者)都不知道另一方的实现细节。只要双方都遵守 API的规范,就可以根据需要进行更改,而对方甚至不会注意到。API 也称为合约。

黄彪博客 1734

RAG系统中Embedding模型选型实战

本文详细介绍了RAG系统中Embedding模型选型实战,希望能对学习RAG的同学们有所帮助。 文章目录 1. 前言 2. 思路解析 3. 测评数据集构建 3.1 步骤一 3.2 步骤二 3.3 数据示例 3.4 总结 4. 实战代码 4.1 本地模型 4.2 使用第三方的Embedding模型API

herosunly的博客 17万+

Swagger与Knife4j的学习

Swagger与Knife4j的学习 此教程基于黑马程序员Java品达通用权限项目,哔哩哔哩链接:https://www.bilibili.com/video/BV1tw411f79E?p=30 1.swagger介绍 ​ 相信无论是前端还是后端开发,都或多或少地被接口文档折磨过。前端经常抱怨后端给的接口文档与实际情况不一致。后端又觉得编写及维护接口文档会耗费不少精力,经常来不及更新。 ​ 其实无论是前端调用后端,还是后端调用后端,都期望有一个好的接口文档。但是这个接口文档对于程序员来说,就跟注释一样,

qq_461491877的博客 2540

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

Swagger与Knife4j学习笔记

Swagger与Knife4j学习笔记

qq_53655497的博客 264

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

Swagger学习(四)之SpringBoot集成knife4j

SpringBoot集成knife4j

weixin_53998054的博客 1867

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j

springboot 学习十五:Spring Boot 优雅的集成Swagger2、Knife4j

冯安晨 1651

Swagger与Knife4j:日常开发的使用

我是 ABin-阿斌:写一生代码,创一世佳话,筑一览芳华。 如果小伙伴们觉得我的文章不错,记得一键三连,感谢~ 文章目录前言注解介绍与使用页面展示:Swagger常用注解KnIfe4j注解 前言 在日常开发当中我们少不了用 Swagger 的注解,下面我就粗略讲一下我们日常开发当中比较常用的一些注解吧,同时项目当中配合使用:knife4j 对于联调接口来说是一个非常不错的体验。 注解介绍与使用 页面展示: 这里用的版本是: Swagger:3.0.0 Knife4j:3.0.3,对于 Kni.

欢迎来到 ABin-阿斌的博客:写一生代码,创一世佳话,筑一览芳华。 697

Knife4j使用教程

查看和测试接口:在Knife4j的文档页面上,你可以查看和测试你的API接口。可以通过分类、搜索等方式快速定位到需要的接口,点击接口可以查看详细的接口信息和示例。集成Swagger:Knife4j基于Swagger,可以直接解析Swagger注解生成API文档,无需额外的配置和编写文档。配置Swagger注解:在你的API接口类和方法上添加Swagger注解,用于描述接口的信息、参数、返回值等。引入依赖:在你的项目中添加Knife4j的相关依赖,具体的依赖配置可以参考Knife4j的官方文档。

jakelihua 2746

SpringBoot整合knife4j生成Api文档

knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案,前身是swagger-bootstrap-ui,取名kni4j是希望它能像一把匕首一样小巧,轻量,并且功能强悍!

cygqtt的博客 602

接口测试工具——Postman测试工具 &amp; Swagger接口测试+SpringBoot整合 &amp; JMeter高并发测试工具(1)

Theapplication is open source software, a 100% pure Java application designed to load test functional behavior and measure performance(接口性能),It was originally designed for testing Web Applications but has since expanded to other test functions.

2401_84141210的博客 914

若依微服务项目03- 整合knife4j

在的微服务架构下,每个微服务并不需要引入前端的ui资源,因此在每个微服务的项目下,引入提供的starter即可。

全栈技术分享,项目分享,资料分享 1931

Java全栈学习---后端---swagger

Java全栈学习资料后端 后端

weixin_51267250的博客 242

knife4j访问doc.html 404 记录犯的一个沙比的错误

我又看了一遍依赖,发现knife4j这个包怎么是autoconfigura?从csdn -> gitee ->官方文档 -> 微信群联系上了作者。卧槽,我瞬间清醒了,重新修改了坐标改成了starter。放了一会睡了一觉,干了会儿别的事再来看代码。花了那么多时间居然栽在了这种小bug上。再次访问doc.html就成功了!得优化一下自己排错得流程和心态了。一开始我很耐心的在网上找方法。使用到了knife4j框架。按视频内容一步一步配置好后。我直接绝望了心累了啊qwq。结果就花了快一天的时间。

a1564a的博客 2703

Knife4j的配置

knife4j的配置 以idea中的配置为例

m0_64021225的博客 927

Swagger

使用Swagger你只需要按照它的规范去定义接口及接口相关的信息,就可以做到生成接口文档,以及在线接口调试页面。官网:https://swagger.io/Knife4j是为Java MVC框架集成Swagger生成Api文档的增强解决方案。

m0_62766987的博客 564
上一篇: mysql 存储树形结构
下一篇: go语言入门:package command-line-arguments is not a main package
一个大泥球
博客等级 码龄9年 41粉丝 93原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值