SpringBoot整合Swagger2+Knife4j,注解使用

news2025/7/26 19:25:50

SpringBoot整合Swagger2+Knife4j,注解使用

文章目录

  • SpringBoot整合Swagger2+Knife4j,注解使用
  • 前言
  • 一、swagger是什么?
  • 二、使用步骤
    • 1.引入库
    • 2.使用swagger的相关注解
  • 总结


前言

swagger和postman都是后端编写的测试接口使用方式,由于实际开发的需求和使用习惯的不同,还是有些差异![在这里插入图片描述](https://img-blog.csdnimg.cn/2b8cf353b1f3454b983355793c53c1e9.png


一、swagger是什么?

Swagger 是一个用于生成、描述和调用 RESTful 接口的 Web 服务。通俗的来讲,Swagger 就是将项目中所有(想要暴露的)接口展现在页面上,并且可以进行接口调用和测试的服务。 PS:Swagger 遵循了 OpenAPI 规范,OpenAPI 是 Linux 基金会的一个项目,试图通过定义一种用来描述 API 格式或 API 定义的语言,来规范 RESTful 服务开发过程。 Swagger 官网地址:https://swagger.io/Swagger 有什么用?从上述 Swagger 定义我们不难看出 Swagger 有以下 3 个重要的作用:将项目中所有的接口展现在页面上,这样后端程序员就不需要专门为前端使用者编写专门的接口文档;当接口更新之后,只需要修改代码中的 Swagger 描述就可以实时生成新的接口文档了,从而规避了接口文档老旧不能使用的问题;通过 Swagger 页面,我们可以直接进行接口调用,降低了项目开发阶段的调试成本。

在这里插入图片描述

二、使用步骤

1.引入库

导入两个依赖即可

<!--springfox swagger官方Starter-->
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-boot-starter</artifactId>
    <version>3.0.0</version>
</dependency>

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

2.使用swagger的相关注解

代码如下(示例):

@AutoLog(value = "公司入驻申请-分页列表查询")
    @ApiOperation(value = "公司入驻申请-分页列表查询", notes = "公司入驻申请-分页列表查询")
    @GetMapping(value = "/list")
    public Result<?> queryPageList(AdmissionApplication admissionApplication,
                                   @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
                                   @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
                                   HttpServletRequest req) {
        QueryWrapper<AdmissionApplication> queryWrapper = QueryGenerator.initQueryWrapper(admissionApplication, req.getParameterMap());
        Page<AdmissionApplication> page = new Page<AdmissionApplication>(pageNo, pageSize);
        IPage<AdmissionApplication> pageList = admissionApplicationService.page(page, queryWrapper);
        return Result.OK(pageList);
    }

总结

swagger注解说明
@Api对请求类的说明
@ApiOperation方法的说明
@ApiImplicitParams方法参数的说明
@ApiImplicitParam用于指定单个参数的说明
@ApiResponses用于方法返回值的说明
@ApiResponse用于指定单个返回值的说明
@ApiModel用于javabean类上,说名javabean整体的用途
@ApiModelProperty用于javabean类的属性上,说名此属性的含义

以上就是今天要讲的内容,本文仅仅简单介绍了swagger注解的使用。

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

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

相关文章

基于springboot的汽车租赁管理系统的设计与实现

项目描述 临近学期结束&#xff0c;还是毕业设计&#xff0c;你还在做java程序网络编程&#xff0c;期末作业&#xff0c;老师的作业要求觉得大了吗?不知道毕业设计该怎么办?网页功能的数量是否太多?没有合适的类型或系统?等等。这里根据疫情当下&#xff0c;你想解决的问…

pytorch实现mnist手写数字识别

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f366; 参考文章地址&#xff1a; 365天深度学习训练营-第P1周&#xff1a;mnist手写数字识别&#x1f356; 作者&#xff1a;K同学啊一、 前期准备 1. 设置GPU import torch import torch.nn a…

MySQL8.0爬坑二三事

【下载】 地址&#xff1a;MySQL :: Download MySQL Community Serverhttps://dev.mysql.com/downloads/mysql/ 【安装】 1.解压复制下面一堆文件到你需要的路径 2.如下图添加一个data文件夹&#xff0c;专门来放数据 3.新建一个my.ini的配置文件&#xff0c;里面内如如下 4…

如何将草料二维码收集到的表单信息同步至腾讯文档

在进行工业巡检场景如消防栓检查时&#xff0c;需要到达巡检地点后&#xff0c;扫描草料二维码&#xff0c;然后填写巡检的结果。事后&#xff0c;还需要有一个工作人员将草料二维码中的信息手动复制粘贴至腾讯文档中。那么能不能将我们信息填写后&#xff0c;自动就汇总至腾讯…

检索系统设计方案(重构)

记一次系统重构设计背景介绍设计步骤架构图介绍架构设计注意点总结背景介绍 搜索链路主要部分 搜索引擎链路都包含这三部分&#xff0c;数据源、搜索引擎服务、搜索业务。 是不是很简单&#xff0c;感觉搜索也没那么难&#xff1f; 搜索链路确实都包括这三部分&#xff0c;…

编程参考 - 编程中给变量起名时如何选择前缀,以及匈牙利命名法等

我最开始当程序员用C语言写代码&#xff0c;公司里推行编码规范&#xff0c;变量的前缀都是有规定的。 比如整型变量&#xff0c;前面都是 u8Name, i8Name, u16Name, i16Name之类的。 尤其是嵌入式编程&#xff0c;涉及到代码移植的问题&#xff0c;最好使用和平台无关的类型定…

显存优化综述

显存优化综述动态图和静态图静态图显存优化动态图显存优化DTR问题解决办法重计算的局限性Cooprecomputable in placeop-guided allocationLayout-aware Eviction实验效果消耗的时间显存碎片率搜索时间动态图和静态图 动态图是边计算边搭建计算图&#xff0c;中间结果一目了然。…

Quasar搭建教程初体验

文章目录一、Quasar框架介绍二、搭建一个简单的Quasar程序1、Quasar CLI安装2、创建Quasar应用程序3、运行Quasar三、使用Quasar开发SSR四、使用Quasar开发桌面应用(Electron)1、添加Quasar Electron模式2、运行开发五、使用Quasar移动应用(Capacitor)1、下载安装AndroidStudio…

测试用例设计方法之判定表法

概念&#xff1a; 等价类&#xff0c;边界值分析法一般是对单一输入进行测试用例分析的方法。 判定表是对其的一种补充&#xff0c;对于多种输入之间存在的组合关系并且对应执行不同动作&#xff0c;进行测试用例的分析的方法。 应用场景&#xff1a; 当一个界面中有多个控…

数据集成产品分析

数据集成产品分析 数据集成产品致力于异构数据源之间的数据交换与汇聚&#xff0c;该类产品是数据中台建设的第一环节&#xff0c;笔者将通过两篇文章对数据集成产品进行分析。 数据同步&#xff0c;又称为数据集成、数据迁移&#xff0c;主要用于实现不同系统间的数据流转。…

C++之结构、枚举

结构 C提供了struct关键字可以将不同类型封装在一起,形成结构体. 数组中存储的是相同类型的数据&#xff0c;而结构中可以存储不同类型的数据。定义结构就像定义一个新的数据类型一样. 结构是类的基石 结构的定义、声明与初始化 定义语法格式: struct 结构体类型名 { 成员…

深入浅出PyTorch——PyTorch生态简介+模型部署

1. 生态简介 介绍PyTorch生态在图像、视频、文本等领域中的发展&#xff0c;针对某个领域选择其中有代表性的一个工具包进行详细介绍 1.1 torchvision torchvision包含了在计算机视觉中常常用到的数据集&#xff0c;模型和图像处理的方式 函数作用 torchvision.datasets * 计…

PLC中ST编程的无符号数逻辑运算

AND与运算&#xff0c;两个数据每个位进行与运算&#xff0c;只有当相同位的值都为1时&#xff0c;那个位结果为1&#xff1b; 2# 0000 0100 1101 0010 2# 0001 0110 0010 1110 AND 2# 0000 0100 0000 0010 OR或运算&#xff0c;两个数据每个位进行或运算&#xff0c;只…

国产化Kettle、JDK、MySQL下载安装操作步骤

一、Kettle下载安装 &#xff08;一&#xff09;、kettle的下载 1、登录https://sourceforge.net/projects/pentaho/ 2、点击“Files”&#xff0c;进入Home / Data Integration 目录&#xff0c;下载需要的版本&#xff0c;以6.1为例。 3、点击“pdi-ce-6.1.0.1-196.zip”…

自制操作系统日记(8):变量显示

代码仓库地址&#xff1a;https://github.com/freedom-xiao007/operating-system 简介 上篇中&#xff0c;我们显示了静态的字符串在桌面上&#xff0c;本篇进一步探索&#xff0c;能将定义的整型变量的值显示在桌面上 探索历程说明 本来想着应该是一两天能搞定的&#xff…

基于智能算法的无人机路径规划研究(Matlab代码实现)

&#x1f468;‍&#x1f393;个人主页&#xff1a;研学社的博客 &#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; &#x1f3c6;博主优势&#xff1a;&#x1f31e;&#x1f31e;&#x1f31e;博客内容尽量做到思维缜…

Docker学习(4)—— 容器数据卷

数据卷是为了实现数据的持久化&#xff0c;完全独立于容器的生存周期&#xff0c;因此Docker不会在删除容器时删除其挂载的数据卷。 通过下述方式运行一个容器&#xff0c;会自动将docker容器内的数据保存进宿主机的磁盘中 docker run -it --privilegedtrue -v /宿主机绝对路…

都说自动化测试才是测试人员的新出路,为什么要做自动化测试?

一、自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。    个人认为&#xff0c;只要能服务于测试工作&#xff0c;能够帮助我们提升工作效率的&#xff0c;不管是所谓的自动化工具&#xff0c;还是简单的SQL 脚本、批处理脚本&#xff0c;还是自己…

如何使用轻量应用服务器搭建NextCloud私有云网盘?

之前有介绍过使用可道云搭建个人云网盘系统&#xff1a;&#xff0c;这个教程我将介绍使用Nextcloud搭建个人云网盘&#xff0c;搭建的过程很相似&#xff0c;都采用的是宝塔面板作为辅助&#xff0c;可道云搭建使用的是一件部署&#xff0c;这个则需要使用上传解压文件的形式部…

专用短程通讯(DSRC)技术介绍

一、DSRC系统的概述 DSRC 通信协议是 ITS 标准体系框架中的重要组成部分&#xff0c;是整个智能交通服务系统的基础。DSRC 系统是一种无线移动通信系统&#xff0c;它通过数据的双向传输将车辆和道路有机的结合起来&#xff0c;利用计算机网络&#xff0c;在智能交通系统中提供…