用Swagger(工具Knife4j )代替postman来进行构建、测试和调试 API

什么是Swagger?

Swagger 是一个用于设计、构建和文档化 RESTful Web 服务的开源框架。它允许开发者设计 API,然后生成对应的 API 文档,提供给团队成员或者第三方开发者查阅。Swagger 的核心是 OpenAPI 规范(之前称为 Swagger 规范),它定义了一种描述 RESTful API 的标准格式,可以用 JSON 或者 YAML 格式编写。

使用 Swagger 可以带来以下好处:

  1. 自动文档生成: Swagger 可以自动生成 API 文档,包括 API 的请求、响应、参数、错误信息等,大大简化了文档编写的工作。

  2. 可视化界面: Swagger 提供了一个可视化界面,让开发者可以直观地浏览和测试 API,而不需要额外编写测试代码。

  3. 客户端 SDK 自动生成: Swagger 可以根据 API 定义自动生成客户端 SDK,开发者可以直接使用这些 SDK 调用 API,而不需要手动编写 HTTP 请求代码

在项目中怎么用?

Knife4j 是一个基于 Swagger 的 API 文档生成工具,它提供了一些增强功能,使得生成的文档更加美观和易于理解。下面是使用 Knife4j 自动生成 Swagger 文档的一般步骤:

1.集成 Knife4j 到你的项目中: 首先,你需要将 Knife4j 相关的依赖项添加到你的项目中。你可以通过 Maven 或 Gradle 等构建工具来添加相应的依赖。

在pom.xml文件中导入它的坐标

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

2.配置 Knife4j 插件: 在项目的配置文件中,你需要配置 Knife4j 插件的相关参数,比如扫描的包路径、文档的标题和描述等。这些配置项可以帮助 Knife4j 自动生成文档时更准确地识别和解析你的 API。

一般是在service层中的config包下,

 /**
     * 通过knife4j生成接口文档
     * @return
     */
    @Bean
    public Docket docket() {
        log.info("准备生成接口文档");
        ApiInfo apiInfo = new ApiInfoBuilder()
                .title("苍穹外卖项目接口文档")
                .version("2.0")
                .description("苍穹外卖项目接口文档")
                .build();
        Docket docket = new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo)
                .select()
//                指定生成接口需要扫描的包
                .apis(RequestHandlerSelectors.basePackage("com.sky.controller"))
                .paths(PathSelectors.any())
                .build();
        return docket;
    }

    /**
     * 设置静态资源映射,使通过路径可以访问到静态资源
     * @param registry
     */
    protected void addResourceHandlers(ResourceHandlerRegistry registry) {
        log.info("开始设置静态资源映射");
        registry.addResourceHandler("/doc.html").addResourceLocations("classpath:/META-INF/resources/");
        registry.addResourceHandler("/webjars/**").addResourceLocations("classpath:/META-INF/resources/webjars/");
    }

3.编写 API 控制器和接口: 确保你的项目中已经编写了 API 控制器和接口,并且这些接口已经使用了 Swagger 相关的注解来描述。

4.启动项目并访问 Knife4j 页面: 启动你的项目后,在浏览器中访问 Knife4j 自动生成的 Swagger 页面。通常情况下,你可以通过访问类似 http://localhost:8080/doc.html 的 URL 来查看文档页面。

5.查看并测试 API 文档: 在 Knife4j 自动生成的 Swagger 页面中,你可以查看你的 API 文档,并且可以使用内置的工具来测试各个 API 接口的功能和响应。

注解使用:

@Api:用在类上,表示对类的说明


@ApiModel:用在类上,描述entity,DTO,VO


@ApiModelProrerty:用在属性上,描述属性信息


@ApiOperation:用在方法上,说明方法的用途,作用。

对应在页面上的显示效果:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot:缓存

点击查看SpringBoot缓存demo&#xff1a;LearnSpringBoot09Cache-Redis 技术摘要 注解版的 mybatisCacheConfigCacheableCachePut&#xff1a;既调用方法&#xff0c;又更新缓存数据&#xff1b;同步更新缓存CacheEvict&#xff1a;缓存清除Caching&#xff1a;定义复杂的缓存…

达梦(DM) SQL数据及字符串操作

达梦DM SQL数据及字符串操作 数据操作字符串操作 这里继续讲解DM数据库的操作&#xff0c;主要涉及插入、更新、删除操作。 数据操作 插入数据&#xff0c;不指定具体列的话就需要插入除自增列外的其他列&#xff0c;当然自增列也可以直接指定插入 INSERT INTO SYS_USER VALU…

5---Linux小程序“进度条”及缓冲区的概念(逻辑梳理,轻松理解)

一、缓冲区的解析&#xff1a; 1.1论点的引入&#xff1a; 在Linux中有一个接口sleep&#xff0c;可以使得C/C程序休眠一段指定的时间。他需要依赖的头文件是<unistd.h>&#xff0c;注意这个接口为Linux私有。 usleep接口类似sleep接口&#xff0c;但是单位为微秒。下面…

Linux 通过关键字查找文件

按文件名查找 find 路径 -name “文件名” 查找当前目录下的所有mk文件 find . -name "*.mk"按关键字查找 find 路径 -name “文件名” | xargs grep -n “关键字” 参数&#xff1a; xargs 是给命令传递参数的一个过滤器&#xff0c;也是组合多个命令的一个工具 -n…

基于springboot实现的在线动漫信息平台

开发语言&#xff1a;Java 框架&#xff1a;springboot JDK版本&#xff1a;JDK1.8 服务器&#xff1a;tomcat7 数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09; 数据库工具&#xff1a;Navicat11 开发软件&#xff1a;eclipse/myeclipse/idea Maven…

Windows内核--Kernel API简析(3.1)

如果所有的内核提供的功能&#xff0c;内核提供进程/线程创建和终止&#xff0c;内存分配和释放&#xff0c;文件操作&#xff0c;网络功能&#xff0c;驱动程序加载和卸载等功能。这些API将在后面陆续介绍&#xff0c;如下先介绍Kernel提供的基础API(Kernel自身或Driver使用).…

SpringBoot内置插件的使用(jackson和lombok)

文章目录 引言I lombok(自动为属性生成构造器)II jacksonsee also引言 idea正式版2021.2.2 已经捆绑安装jackson和lombok插件 I lombok(自动为属性生成构造器) Lombok能通过注解的方式,在编译时自动为属性生成构造器、getter/setter、equals、hashcode、toString方法。 htt…

基于ProxySQL中间件实现MySQL的读写分离

目录 ProxySQL简介 ProxySQL安装 配置YUM仓库 YUM安装 关于读写分离的实现 集群信息 测试读写分离 测试总结 ProxySQL Configuration CLI ProxySQL简介 ProxySQL是一个高性能的MySQL协议代理&#xff0c;它支持多种数据库后端&#xff0c;包括Amazon Aurora、RDS、Cl…

51单片机:点亮一个LED灯

1.新建工程 选择AT89C52&#xff0c;在Atmel下显示的是See Microchip 并不需要添加启动文件到文件夹中。 添加main.c文件&#xff0c;c比cpp效率高&#xff0c;.asm汇编即更底层 程序编写好后 nop(); 该函数在这个头文件里面 #include <INTRINS.H> #include <R…

AI应用案例:律师服务质量评价

利用微调后的模型对律师的服务质量进行评价是一种高效且客观的方法。首先&#xff0c;我们需要一个预先训练好的模型作为基础&#xff0c;这个模型可能已经具备了处理文本或类似数据的能力。然后&#xff0c;针对律师服务质量的特定需求&#xff0c;我们对模型进行微调&#xf…

电脑录屏软件有哪些?这3款神器必须要知道

在当今现代社会&#xff0c;电脑录屏软件已经成为人们日常生活中不可或缺的一部分。无论是录制游戏精彩瞬间、制作教程、还是在线会议记录&#xff0c;一款好用的电脑录屏软件都能帮助我们更高效地完成任务。可是电脑录屏软件有哪些呢&#xff1f;接下来&#xff0c;我们将介绍…

MES系统在电线电缆行业生产上的应用

MES系统在线缆行业的应用可以带来多重价值&#xff0c;包括提高生产效率、降低生产成本、提高产品质量、优化库存管理、改善生产环境和提高企业竞争力等方面。因此&#xff0c;在电线电缆行业中广泛应用MES系统可以提高企业的经济效益和社会效益&#xff0c;推动企业发展和行业…

30W 宽电压输入 AC/DC 导轨式开关电源——TPR/DG-30-XS 系列

TPR/DG-30-XS 系列导轨式开关电源&#xff0c;额定输出功率为30W&#xff0c;产品输入范围&#xff1a;90-264VAC。提供12V、24V输出&#xff0c;12V输出时&#xff0c;工作温度范围 (-25℃~70℃)具有短路保护&#xff0c;过载保护等功能&#xff0c;并具备高效率&#xff0c;高…

地平线旭日X3开发板Object Detection测试调试

旭日X3派具有最高5TOPS的等效算力 (X3M BPU主频1.2GHz、算力5TOS; X3E BPU 主频0.6GHZ&#xff0c;算力3TOPS)&#xff0c; 因此在开发板上可以运行丰富的AI算法。 在系统/app/ai_inference目录下提供了基础算法示例&#xff1a; 01_basic_sample 系统给出的测试程序只能对给…

中腾食品上海食堂承包创新食堂空间,构建企业第三文化沙龙

在快节奏的现代职场生活中&#xff0c;企业食堂已不再是简单的餐饮供应地&#xff0c;而是逐渐演变成为员工休息休闲、互动体验、阅读思考的重要场所。中腾国际团餐产业集团通过专业的定制化食堂承包&#xff0c;在企业食堂内部打造企业第三文化空间&#xff0c;为员工提供一个…

社交媒体的探索者:探寻Facebook的发展历程

在当今数字化时代&#xff0c;社交媒体已经成为了人们日常生活中不可或缺的一部分&#xff0c;而Facebook作为最具影响力的社交平台之一&#xff0c;其发展历程承载着无数的探索与创新。本文将深入探讨Facebook的发展历程&#xff0c;从其创立初期到如今的全球化影响&#xff0…

leetcode.环形链表问题

目录 题目1 示例 解题思路 代码实现 补充 题目2 示例 解题思路 代码实现 题目1 该题链接&#xff1a;https://leetcode.cn/problems/linked-list-cycle/description/ 示例 解题思路 要创建两个指针一个是快指针(fast)&#xff0c;另一个慢指针(slow)。快指针走两步慢指…

网络安全快速入门(十二)(下) 目录结构相关命令补充

12.4 补充命令 我们已经了解了linux的目录结构&#xff0c;接下来我们大概看一下针对目录及文件的一些相关命令&#xff0c; 我们本章只讲三个目录及文件相关的命令&#xff0c;分别是tree&#xff0c;find及校验文件命令&#xff0c;我们一个一个来看这些命令。 12.4.1 tree命…

MySQL 编译安装

一、数据库的基本概念 数据&#xff08;Data&#xff09; 数据库中存储的实际信息&#xff0c;可以是数字、文本、图像等形式。 表 以行和列的形式结构化存储数据。 数据库 表的集合&#xff0c;存放数据的仓库 数据库 ——> 数据表 ——> 数据 数据库管理系统&…

【OceanBase诊断调优】—— 备份恢复如何定位 NFS 服务异常

当备份、归档出现异常时&#xff0c;我们应该首先排除备份介质、网络是否正常&#xff0c;本文讲述如何通过系统表和日志来定位 NFS 服务异常。 适用版本 OceanBase 数据库所有版本。 如何查看备份归档异常&#xff1f; 查看备份归档状态表&#xff0c;MAX_NEXT_TIME 应与当…