Swagger3探索之游龙入海

news/2024/4/28 6:44:24/文章来源:https://blog.csdn.net/weixin_38425605/article/details/137088308

引言

后端开发中常用的接口调用工具一般使用Postman、ApiPost工具,但后期需要与前端联调,要补充接口文档花费大量时间,此时Swagger3应运而生,大大提高沟通交流的效率。

引用依赖

<!-- Swagger3 调用方式 http://ip:port/swagger-ui/index.html -->
<dependency><groupId>org.springdoc</groupId><artifactId>springdoc-openapi-starter-webmvc-ui</artifactId>
</dependency>

常用注解

注解标注位置作用
@TagController类标识Controller作用
@Parameter参数标识参数作用
@Parameters参数参数多重说明
@Schemamodel层的JavaBean描述模型的作用及每个属性
@Operation方法描述方法作用
@ApiResponse方法描述响应状态码

举例说明常用注解的使用

@RestController
@Tag(name = "支付微服务模块", description = "支付基本功能")
public class PayController{@ResourcePayService payService;@PostMapping(value = "/pay/add")@Operation(summary = "新增", description = "新增支付记录")public String addPay(@RequestBody Pay pay){System.out.println(pay.toString());int i = payService.add(pay);return "成功插入记录,返回值:"+i;}
}

含分组迭代的config配置类

import io.swagger.v3.oas.models.ExternalDocumentation;
import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.info.Info;
import org.springdoc.core.models.GroupedOpenApi;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;@Configuration
public class Swagger3Config {@Beanpublic GroupedOpenApi PayApi() {return GroupedOpenApi.builder().group("支付微服务模块").pathsToMatch("/pay/**").build();}@Beanpublic GroupedOpenApi OtherApi() {return GroupedOpenApi.builder().group("其它微服务模块").pathsToMatch("/other/**", "/others").build();}/*@Beanpublic GroupedOpenApi CustomerApi(){return GroupedOpenApi.builder().group("客户微服务模块").pathsToMatch("/customer/**", "/customers").build();}*/@Beanpublic OpenAPI docsOpenApi() {return new OpenAPI().info(new Info().title("Baize-Cloud-2024").description("后端通用设计").version("v1.0")).externalDocs(new ExternalDocumentation().description("www.baize.com").url("https://yiyan.baidu.com/"));}
}

Swagger3使用

项目启动后,访问链接
** http://localhost:8001/swagger-ui/index.html **

在这里插入图片描述

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

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

相关文章

taro框架之taro-ui中AtSwipeAction的使用

题记&#xff1a;所需效果&#xff1a;滑动删除 工作进程 官网文档代码 <AtSwipeAction options{[{text: 取消,style: {backgroundColor: #6190E8}},{text: 确认,style: {backgroundColor: #FF4949}} ]}><View classNamenormal>AtSwipeAction 一般使用场景</…

unity学习笔记

一、Canvas Canvas&#xff08;画布&#xff09;是 Unity 中用于创建用户界面&#xff08;UI&#xff09;的主要组件之一。Canvas 提供了一个用于呈现 2D 和 3D UI 元素的容器&#xff0c;任何一个&#xff0c;并且负责管理这些元素的渲染顺序、相对位置和缩放。下面是关于 Ca…

浙江IGM机器人K5控制柜维修需要注意哪些问题?

IGM机器人K5控制柜常见故障及维修方法 1、电源故障&#xff1a; 表现为IGM机器人K5控制柜不能开机或突然断电。 检查&#xff1a;检查电源线是否连接良好&#xff0c;有无破损&#xff1b;检查电源模块的输出电压是否正常&#xff1b; 维修方法&#xff1a;如电源模块损坏&…

主流公链 - Filecoin

探索Filecoin&#xff1a;去中心化存储网络 1. Filecoin简介 Filecoin是一个去中心化的存储网络&#xff0c;旨在通过区块链技术实现全球性的分布式文件存储和检索市场。Filecoin允许用户将文件存储在网络中的节点上&#xff0c;并通过加密、分片和复制等技术保证数据的安全性…

企业微信主体变更的公证书怎么办?

企业微信变更主体有什么作用&#xff1f; 企业微信推出到现在已经很多年了&#xff0c;但是之前一直不支持主体变更。于是很多公司好不容易积累的客户&#xff0c;因为换了营业执照经营&#xff0c;原来的客户就都只能流失了。近期企业微信终于放开了变更主体的功能&#xff0c…

双系统安装02--在已有win10基础上安装统信UOS

原文链接&#xff1a;https://mp.weixin.qq.com/s/wVRG3MKZYIF5rHBVc3YADg Hello&#xff0c;大家好啊&#xff01;继昨天关于在一台电脑上全新安装Windows 11和统信UOS桌面操作系统1060的双系统教程之后&#xff0c;今天我将为大家介绍如何在已有的Windows 10系统上安装统信UO…

鸿蒙OS开发实例:【工具类封装-http请求】

import http from ohos.net.http; import promptAction from ohos.promptAction; 封装HTTP接口请求类&#xff0c;提供格式化的响应信息输出功能。 使用 DevEco Studio 3.1.1 Release 及以上版本&#xff0c;API 版本为 api 9 及以上。 示例&#xff1a; import { MyHttpUtil…

MySQL 索引:索引为什么使用 B+树?

Hash 索引不支持顺序和范围查询&#xff1b; 二叉查找树(BST)&#xff1a;解决了排序的问题&#xff0c;极端情况下可能会退化成线性链表&#xff0c;查询效率急剧下降&#xff1b; 平衡二叉树(AVL) &#xff1a;通过旋转解决了平衡的问题&#xff0c;但是旋转操作效率太低&am…

Flume超级无敌详细讲解

简介 概述 Flume本身是由Cloudera公司开发的后来贡献给了Apache的一套针对日志进行收集(collecting)、汇聚(aggregating)和传输(moving)的分布式机制。 图-1 Flume图标 Flume本身提供了较为简易的流式结构,使得开发者能够较为简易和方便的搭建Flume的流动模型。 图-2 Flume…

【Pytorch入门】小土堆PyTorch入门教程完整学习笔记(详细笔记并附练习代码 ipynb文件)

小土堆PyTorch入门教程笔记 最近在观看PyTorch深度学习快速入门教程&#xff08;绝对通俗易懂&#xff01;&#xff09;【小土堆】顺便做点笔记&#xff0c;方便回看&#xff0c;同时也希望记录的笔记能够帮助到更多在入门的小伙伴~ 【注】仅记录个人觉得重要的知识&#xff0c…

在线接口文档预言方案

在线接口文档预言方案 要求&#xff1a; ​ 支持自动生成接口文档 ​ 能够支持在线测试(http&#xff0c;websocket) ​ 对代码没有侵入性 一、目前涉及的相关技术收集 sudo apt update #更新数据 sudo apt upgrade #更新软件 sudo apt install openssh-server #下载安装…

Qt教程 — 3.7 深入了解Qt 控件: Layouts部件

目录 2 如何使用Layouts部件 2.1 QBoxLayout组件-垂直或水平布局 2.2 QGridLayout组件-网格布局 2.3 QFormLayout组件-表单布局 在Qt中&#xff0c;布局管理器&#xff08;Layouts&#xff09;是用来管理窗口中控件位置和大小的重要工具。布局管理器可以确保窗口中的控件在…

鸿蒙开发图形图像:【图形子系统】

图形子系统 图形子系统主要包括UI组件、布局、动画、字体、输入事件、窗口管理、渲染绘制等模块&#xff0c;构建基于轻量OS应用框架满足硬件资源较小的物联网设备或者构建基于标准OS的应用框架满足富设备的OpenHarmony系统应用开发。 1.1 轻量系统 简介 图形子系统主要包括…

武忠祥《660题》高效刷题包+资料分享

660题的难度书虽然比较难&#xff0c;对于基础的考察比较深入&#xff0c;所以&#xff0c;有没有一种可能&#xff0c;做题太慢&#xff0c;是因为基础不好导致的&#xff01; 所以再继续做下去&#xff0c;就没有什么意义了&#xff0c;因为这就像是用一把钝刀去砍树&#x…

Linux 反引号、单引号以及双引号的区别

1.单引号—— 单引号中所有的字符包括特殊字符&#xff08;$,,和\&#xff09;都将解释成字符本身而成为普通字符。它不会解析任何变量&#xff0c;元字符&#xff0c;通配符&#xff0c;转义符&#xff0c;只被当作字符串处理。 2.双引号——" 双引号&#xff0c;除了$,…

spring boot3自定义注解+拦截器+Redis实现高并发接口限流

⛰️个人主页: 蒾酒 &#x1f525;系列专栏&#xff1a;《spring boot实战》 &#x1f30a;山高路远&#xff0c;行路漫漫&#xff0c;终有归途 目录 写在前面 内容简介 实现思路 实现步骤 1.自定义限流注解 2.编写限流拦截器 3.注册拦截器 4.接口限流测试 写在前…

汽车ECU的虚拟化技术(四) -- 对MCU虚拟化实现难点的思考

目录 1.OEM面临的难点 2.Hypervisor的难点思考 2.1 VMs部署到物理内核上的实现方式 2.2 VM调度机制 3.小结 1.OEM面临的难点 为什么汽车ECU在逐渐倡导虚拟化&#xff0c;主要原因是整车电子电气架构从分布式往集中式演进&#xff0c;OEM希望将以前多个ECU的功能聚合到一个…

腾讯云服务器新购、续费、升级如何领取优惠券?

腾讯云作为国内领先的云计算服务提供商&#xff0c;一直致力于为用户提供高效、稳定、安全的云服务。为了吸引广大用户上云&#xff0c;腾讯云经常推出各种优惠活动&#xff0c;其中就包括服务器新购、续费、升级的优惠券。本文将为大家详细介绍如何领取腾讯云服务器优惠券&…

将本地项目上传至码云

1.打开git&#xff0c;然后进入到项目目录 2.进入到项目目录&#xff0c;然后进行git的初始化 成功后本地项目目录内会多出一个“.git”文件&#xff1a; 指令介绍&#xff1a; git init -- 建立本地仓库 3.在码云上创建仓库&#xff0c;名为“MyMoney” 创建过程参考&…

2024最新Win系统下VSCode下载安装与配置C/C++教程

2024最新Win系统下VSCode下载安装与配置C/C教程 文章目录 2024最新Win系统下VSCode下载安装与配置C/C教程1、下载安装VSCode2、安装运行时环境GCGC的环境配置 3、安装VSCode插件4、配置程序调试环境4.1确定文件存储路径4.2新建文件夹【.vscode】4.3在.vscode文件夹里新建四个配…