用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*/@Beanpublic 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:用在方法上,说明方法的用途,作用。

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

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot集成Curator实现Zookeeper基本操作

系列文章目录 文章目录 系列文章目录前言 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女通用&#xff0c;看懂了就去分享给你的码吧。 Zookeeper是一个Ap…

python数据分析——seaborn绘图2

参考资料&#xff1a;活用pandas库 # 导入库 import pandas as pd import matplotlib.pyplot as plt import seaborn as sns tipspd.read_csv(r"...\seaborn常用数据案例\tips.csv") print(tips.head()) 1、成对关系表示 当数据大部分是数据时&#xff0c;可以使用…

群辉部署小雅alist实现视听盛会

最近群辉搭建起来了&#xff0c;开始整蛊影视库&#xff0c;之前搞过nastool。这次折腾下小雅alist。 1.下载并安装 直接在群辉的docker里面下载映像 主要映射下端口和文件夹 #token mytoken.txt 获取地址&#xff1a;https://alist.nn.ci/zh/guide/drivers/aliyundriv…

在Windows环境下安装CPU版的PyTorch

PytTorch是基于Python开发的&#xff0c;首先需要安装Python&#xff0c;Python的安装很简单&#xff0c;这里不再赘述。而 Windows用户能直接通过conda、pip和源码编译三种方式来安装PyTorch。 打开PyTorch官网&#xff08;PyTorch&#xff09;&#xff0c;在主页中根据自己的…

安卓AsyncTask使用

目录 一、简介1.1 AsyncTask 参数简介1.2 常用方法1.3 执行顺序1.4 使用注意1.5 使用步骤 二、使用示例三、应用场景 一、简介 public abstract class AsyncTask<Params, Progress, Result> {1.1 AsyncTask 参数简介 Params&#xff1a;开始异步任务执行时传入的参数类型…

安防视频汇聚/智能分析云平台EasyCVR调用localfile接口会返回日志的问题该如何解决?

视频汇聚/安防视频融合云平台EasyCVR视频监控系统支持多协议接入、兼容多类型设备&#xff0c;平台能在复杂的网络环境中&#xff08;专网、局域网、广域网、VPN、公网等&#xff09;将前端海量的设备进行统一集中接入与视频汇聚管理。视频监控/集中存储系统EasyCVR平台可支持国…

【LAMMPS学习】九、LAMMPS脚本 示例

9. 示例脚本 LAMMPS 发行版包含一个包含许多示例问题的示例子目录。许多是二维模型&#xff0c;运行速度快且易于可视化&#xff0c;在台式机上运行最多需要几分钟。每个问题都有一个输入脚本 (in.*)&#xff0c;并在运行时生成一个日志文件 (log.*)。有些使用初始坐标的数据文…

删除表空间

Oracle从入门到总裁:​​​​​​https://blog.csdn.net/weixin_67859959/article/details/135209645 当某个表空间中的数据不再需要时&#xff0c;或者新创建的表空间不符合要求时&#xff0c;可以考虑删除这个表空间。若要删除表空间&#xff0c;则需要用户具有 DROP TABLESP…

【微记录】dmidecode是干什么的?常用来做什么?如何查看系统支持的PCIe版本号(本质:标准,Desktop Management Interface)

是什么 dmidecode 是一个在 Linux 系统提取硬件信息的命令行工具。DMI 代表桌面管理接口&#xff08;Desktop Management Interface&#xff09;&#xff0c;是一种标准&#xff0c;收集桌面计算机的硬件信息&#xff0c;包括系统制造商、序列号、BIOS 信息、系统资产标签等。…

数据结构(栈):中缀表达式转后缀表达式题型的快速图解法(求栈中操作符等)

2024/5/14&#xff1a; 学编译原理的时候接触到了递归树的画法&#xff0c;中缀转后缀的解题过程和编译原理中的递归树有异曲同工之妙。今日解题的时候想了一下图解法&#xff0c;遂记录&#xff0c;本质上是对递归树的改进。 图解原理概述 以表达式 ab*(c-d)e 为例&#xff0c…

【网络基础】TCP协议2

TCP建立连接 什么是TCP连接 用于保证可靠性和流量控制维护的某些状态信息&#xff0c;这些信息的组合&#xff0c;包括 Socket、序列号和窗口大小称为连接。 Socket&#xff1a;由 IP 地址和端口号组成 序列号&#xff1a;用来解决乱序问题等 窗口大小&#xff1a;用来做流量…

运维别卷系列 - 云原生监控平台 之 04.prometheus 查询语句 promql 实践

文章目录 [toc]PromQL 简介什么是时间序列 PromQL 数据类型即时向量 Instant vector范围向量 Range vectorTime DurationsOffset modifier modifier 浮点值 Scalar字符串 String PromQL FUNCTIONSfloor()irate()rate()round()sort()sort_desc() PromQL 运算符算术运算符比较运算…