Swagger学习⑰——@Link注解
介绍
@Link
是 Swagger/OpenAPI 3.0 注解库中的一个注解,用于在 OpenAPI 文档中定义链接(Link)。链接是一种在 API 响应中提供相关操作或资源引用的机制,通常用于描述操作之间的关系或提供额外的操作提示。
@Link
注解的作用
@Link
注解用于在 OpenAPI 文档中定义一个链接,它可以关联到某个操作(Operation)或资源。链接通常用于以下场景:
-
描述操作之间的关系(例如,创建资源后返回的资源链接)。
-
提供额外的操作提示(例如,分页查询中的下一页链接)。
-
实现 HATEOAS(Hypermedia as the Engine of Application State)风格的 API。
源代码
package io.swagger.v3.oas.annotations.links;import io.swagger.v3.oas.annotations.extensions.Extension;
import io.swagger.v3.oas.annotations.servers.Server;
import java.lang.annotation.ElementType;
import java.lang.annotation.Inherited;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;@Target({ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface Link {String name() default "";String operationRef() default "";String operationId() default "";LinkParameter[] parameters() default {};String description() default "";String requestBody() default "";Server server() default @Server;Extension[] extensions() default {};String ref() default "";
}
@Link
注解的属性
@Link
注解的主要属性如下:
属性名 | 类型 | 描述 |
---|---|---|
name | String | 链接的名称,必须是唯一的。 |
operationId | String | 链接指向的操作的 operationId 。 |
operationRef | String | 链接指向的操作的引用(URL 或路径)。 |
description | String | 链接的描述信息。 |
requestBody | String | 链接指向的操作的请求体表达式。 |
parameters | Parameter | 链接指向的操作的参数映射。 |
server | Server | 链接指向的服务器的配置。 |
ref | String | 引用外部定义的链接。 |
示例代码
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.links.Link;
import io.swagger.v3.oas.annotations.links.LinkParameter;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;@RestController
public class DemoController {@Operation(summary = "Get Demo by ID", operationId = "getDemoById")@ApiResponses(value = {@ApiResponse(responseCode = "200",description = "Demo found",links = {@Link(name = "updateDemo ",operationId = "updateDemo",parameters = @LinkParameter(name = "demoId", expression = "$response.body#id")),@Link(name = "deleteDemo",operationId = "deleteDemo",parameters = @LinkParameter(name = "demoId", expression = "$response.body#id"))})})@GetMapping("/demo/{id}")public User getDemoById(@PathVariable Long id) {// 返回Demo 信息return new User(id, "demo Doe");}@Operation(summary = "Update demo by ID", operationId = "updateDemo")@PutMapping("/demo/{id}")public void updateDemo(@PathVariable Long id, @RequestBody Demo user) {// 更新Demo 信息}@Operation(summary = "Delete demo by ID", operationId = "deleteDemo")@DeleteMapping("/demo/{id}")public void deleteDemo(@PathVariable Long id) {// 删除Demo }
}
相关文章:
Swagger学习⑰——@Link注解
介绍 Link 是 Swagger/OpenAPI 3.0 注解库中的一个注解,用于在 OpenAPI 文档中定义链接(Link)。链接是一种在 API 响应中提供相关操作或资源引用的机制,通常用于描述操作之间的关系或提供额外的操作提示。 Link 注解的作用 Link…...
Cline(原Claude Dev)开源的IDE AI插件,如何搭配OpenRouter实现cursor功能,Cline怎么使用
Cline(原Claude Dev)是一个开源的IDE AI插件,可以使用你的命令行界面和编辑器的人工智能助手。 你可以直接在VS Code编辑器进行安装。如果你使用过Cursor AI IDE的话,可以尝试最新发布的Cline3.1版本。 在OpenRouter上࿰…...
WEB前端-3.1
目录 CSS部分 什么是CSS CSS的书写方式 网页引入CSS的方式 css的颜色、大小、边线 文本和字体样式 CSS选择器 属性选择器 伪类选择器 伪元素选择器 文本样式 display属性 背景样式 精灵图、雪碧图 元素定位 绝对定位 相对定位 浮动定位 浮动 CSS部分 什么是…...
灌区闸门自动化控制系统-精准渠道量测水-灌区现代化建设
项目背景 本项目聚焦于黑龙江某一灌区的现代化改造工程,该灌区覆盖广阔,灌溉面积高达7.5万亩,地域上跨越6个乡镇及涵盖17个村庄。项目核心在于通过全面的信息化建设,强力推动节水灌溉措施的实施,旨在显著提升农业用水的…...
QT中引入OpenCV库总结(qmake方式和cmake方式)
文章目录 前言opencv环境配置一、opencv库获取的两种方式二、qmake和cmake配置2.1、 qmake2.2、cmake2.2.1、引入opencv示例 三、qt与opencv对应关系四、问题 前言 我的软件环境,写在前面 Windows10QT5.12.12VS2017OpenCV4.5.4 opencv环境配置 一、opencv库获取…...
【DAPM杂谈之三】DAPM的初始化流程
本文主要分析DAPM的设计与实现 内核的版本是:linux-5.15.164,下载链接:Linux内核下载 主要讲解有关于DAPM相关的知识,会给出一些例程并分析内核如何去实现的 /**************************************************************…...
消息队列架构、选型、专有名词解释
私人博客传送门 消息队列专有名词解释 | 魔筝炼药师 MQ选型 | 魔筝炼药师 MQ架构 | 魔筝炼药师 MQ顺序消息 | 魔筝炼药师...
Scala语言的计算机基础
Scala语言的计算机基础 Scala是一种现代的编程语言,兼具面向对象和函数式编程的特性,广泛应用于大数据处理、后端开发和分布式系统等领域。本文将围绕Scala语言的基础知识,包括其语法特点、数据结构、函数式编程思想、与Java的关系以及在实际…...
爬虫基础之爬取歌曲宝歌曲批量下载
声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com) 爬取 歌曲名 歌曲 实现歌手名称下载所有歌曲 本案列所使用的模块 requests (发送…...
书说 MySQL 的悲观锁和乐观锁
什么是乐观锁?什么是悲观锁? 悲观锁: 悲观锁是一种基于悲观态度的控制机制(最坏的程度想,每次并发一定会造成阻塞),用于防止数据冲突。它采取预防性措施,在修改数据之前将其锁定&a…...
Linux WEB漏洞
定义:Linux Web 漏洞是指在基于 Linux 操作系统的 Web 应用程序、Web 服务器软件或者相关的网络服务配置中存在的安全弱点。这些漏洞可能导致攻击者未经授权访问敏感信息、篡改网页内容、执行恶意代码,甚至完全控制服务器。 常见类型及原理 SQL 注入漏…...
AIDD - 人工智能药物设计 -深度学习赋能脂质纳米颗粒设计,实现高效肺部基因递送
Nat. Biotechnol. | 深度学习赋能脂质纳米颗粒设计,实现高效肺部基因递送 今天为大家介绍的是来自美国麻省理工和爱荷华大学卡弗医学院团队的一篇论文。可离子化脂质(ionizable lipids)是脂质纳米颗粒(lipid nanoparticles&#…...
Selenium 进行网页自动化操作的一个示例,绕过一些网站的自动化检测。python编程
初级教程 selenium 教程和视频教程s原理与安装 - 白月黑羽 https://www.byhy.net/auto/selenium/01/#chrome%201 Selenium 自动化环境安装_哔哩哔哩_bilibili Selenium 自动化环境安装是Python Selenium Web自动化 2024版 - 自动化测试 爬虫的第2集视频,该合集共…...
力扣 岛屿数量
从某个点找,不断找相邻位置。 题目 岛屿中被“0”隔开后 ,是每一小块状的“1”,本题在问有多少块。可以用dfs进行搜索,遍历每一个点,把每一个点的上下左右做搜索检测,当检测到就标记为“0”表示已访问过&a…...
【前端动效】HTML + CSS 实现打字机效果
目录 1. 效果展示 2. 思路分析 2.1 难点 2.2 实现思路 3. 代码实现 3.1 html部分 3.2 css部分 3.3 完整代码 4. 总结 1. 效果展示 如图所示,这次带来的是一个有趣的“擦除”效果,也可以叫做打字机效果,其中一段文本从左到右逐渐从…...
期刊(中英),期刊分区,期刊所在数据库(中英),出版商区别和联系
目录 对期刊、分区、数据库、出版商整体了解期刊(中英)期刊分区期刊所在数据库总结 出版商 对期刊、分区、数据库、出版商整体了解 下图是我对这四部分的一个理解,其中期刊根据论文使用语言分为中英两种,期刊分区是用来评判论文质…...
LLM中temperature参数设置为0
LLM中 temperature参数设置为0 当模型的temperature参数设置为0时,通常有以下含义: 解码策略角度 意味着采用贪婪解码(greedy decoding)策略。在每一步生成文本时,模型会选择概率最高的词元,从而使输出具…...
Javase 基础复习 函数式接口 lambda表达式 方法应用
目录 案例1 案例2 1. 函数式接口 (Functional Interface) 特点: 示例: Java 8 引入了几个常用的函数式接口: 2. Lambda 表达式 语法解析: 示例: 3. 方法引用 (Method References) 示例: 4. 方法…...
【39. 组合总和 中等】
题目: 给你一个 无重复元素 的整数数组 candidates 和一个目标整数 target ,找出 candidates 中可以使数字和为目标数 target 的 所有 不同组合 ,并以列表形式返回。你可以按 任意顺序 返回这些组合。 candidates 中的 同一个 数字可以 无限…...
UE小白学习日记
Level UE中的Level(关卡)和Unity中的Scene(场景)在概念和用途上非常相似,都是用来组织和管理3D环境的基本单位。让我为您详细对比一下: 相似之处: 它们都是游戏世界的容器,可以包含游戏对象、光照、地形等元素都支持场景/关卡的切换和加载都可以用来划分游戏内容,比如不同关…...
补充之前的一篇 MySQL 的索引为什么能加快查询速度
在之前的一篇文章中写了 MySQL 的索引为什么能加快查询速度,结合这两篇文章,相信你会对 MySQL 的索引有更深一步的了解 首先我们要理解一件事,无论什么数据库,它的数据一定都是存储在硬盘中的,而硬盘和内存之间的读…...
GoLand下载安装教程
一、goland环境配置 1.下载地址 https://golang.google.cn/dl/ 2.下载安装 3.添加环境变量 4.测试环境变量 输出Hello,World! 说明环境配置成功 二、goland安装 1.下载安装 https://www.jetbrains.com/go/download/download-thanks.html 2.激活使用 SFXUSA86FM-eyJsaWNlbnNl…...
GAN的应用
5、GAN的应用 GANs是一个强大的生成模型,它可以使用随机向量生成逼真的样本。我们既不需要知道明确的真实数据分布,也不需要任何数学假设。这些优点使得GANs被广泛应用于图像处理、计算机视觉、序列数据等领域。上图是基于GANs的实际应用场景对不同G…...
[石榴翻译] 维吾尔语音识别 + TTS语音合成
API网址 丝路AI平台 获取 Access token 接口地址:https://open.xjguoyu.cn/api/auth/oauth/token,请求方式:GET,POST Access token是调用服务API的凭证,调用服务API之前需要获取 token。每次成功获取 token 以后只有…...
PHP Filesystem:深入解析与实战应用
PHP Filesystem:深入解析与实战应用 引言 PHP作为一种流行的服务器端编程语言,提供了强大的文件系统操作功能。本文将深入探讨PHP的Filesystem函数,这些函数允许开发者访问和操作服务器上的文件系统。无论是进行基本的文件操作,还是实现复杂的文件管理系统,PHP的Filesys…...
仓颉笔记——写一个简易的web服务并用浏览器打开
创建一个web服务端,同时创建一个客户端去读取这个服务端。 也满足浏览器打开web的需求。 直接上代码。 import net.http.* import std.time.* import std.sync.* import std.log.LogLevel// 1. 构建 Server 实例 let server ServerBuilder().addr("127.0.0.1&…...
yolov5+colab跑起来
教程1.先上传网盘再run 教程2.直接上传解压run 本人过程...
Windows下安装最新版的OpenSSL,并解决OpenSSL不是当前版本的问题,或者安装不正确的问题
文章目录 1. 文章引言1.1 需求描述1.2 简单介绍1.3 支持平台1.4 源码地址1.5 组件介绍2. 下载OpenSSL3. 安装OpenSSL5. 查看安装目录6. 解决OpenSSL的错误1. 文章引言 1.1 需求描述 今天接到一需求,解密php加密后的数据,由于php使用 openssl_encrypt的方式加密,java也需要使…...
HTML5 网站模板
HTML5 网站模板 参考 HTML5 Website Templates...
代码随想录算法训练营第三十二天|509.斐波那契数、70.爬楼梯、746.使用最小花费爬楼梯
目录 509.斐波那契数 动态规划五部曲: 1.确定dp数组(dp table)以及下标的含义 2.确定递推公式 3.dp数组如何初始化 4.确定遍历顺序 5.举例推导dp数组 70.爬楼梯 动态规划五部曲: 1.确定dp数组(dp table)…...
<C++学习>C++ Boost 数学与科学计算教程
C Boost 数学与科学计算教程 Boost 提供了强大的数学与科学计算功能模块,包括常用数学函数、特殊函数、矩阵运算、随机数生成器、统计分析工具等。这些工具覆盖了从基本数学操作到复杂科学计算的广泛场景。 1. Boost.Math 简介 Boost.Math 提供了丰富的数学功能&a…...
Spring Framework 5.3.x源码构建 (jdk-1.8, gradle 7.5.1, idea2024.3)
1、下载jdk安装并配置环境变量(自行百度) https://www.oracle.com/java/technologies/downloads/#java8 2、下载spring-framework源码,切换分支到5.3.x https://github.com/spring-projects/spring-framework.git 备用地址 https://gitco…...
有心力场的两体问题
有心力场中的两体问题是经典力学中的重要研究对象,中心力场问题通常涉及两个相互作用的物体(例如行星与恒星、电子与原子核等)。为了简化分析,问题往往可以转化为一个等效的单体问题。这种方法大大提高了问题的可解性,是解决两体和多体问题的基础步骤之一。将两体问题简化…...
【Pandas】pandas Series rdiv
Pandas2.2 Series Binary operator functions 方法描述Series.add()用于对两个 Series 进行逐元素加法运算Series.sub()用于对两个 Series 进行逐元素减法运算Series.mul()用于对两个 Series 进行逐元素乘法运算Series.div()用于对两个 Series 进行逐元素除法运算Series.true…...
Openstack持久存储-Swift,Cinder,Manila三者之间的区别
总结不易,给个三连吧!!! 补充: 文件共享存储服务Manila 在OpenStack生态系统中,Cinder和Manila分别提供了两种不同类型的存储服务,类似于传统的SAN(存储区域网络)和NAS&…...
单片机(MCU)-简单认识
简介: 内部集成了CPU,RAM,ROM,定时器,中断系统,通讯接口等一系列电脑的常用硬件功能。 单片机的任务是信息采集(依靠传感器),处理(依靠CPU)&…...
Redis常见知识点
1、什么是缓存穿透? 缓存穿透是指查询一定某个key是否存在,每次不存在都查询DB会把DB压垮。 解决方案的话,我们通常都会用布隆过滤器来解决。 布隆过滤器:在查找一个数是否在一个集合中使用的,通过对数组长度取模&a…...
SQL进阶实战技巧:统计相同时刻多地登陆的用户?
目录 0 问题描述 1 数据准备 2 代码实现 3 问题拓展 3.1 查询每个用户登录日期的最大空档期...
【数据库初阶】表的增删改语句
🎉博主首页: 有趣的中国人 🎉专栏首页: 数据库初阶 🎉其它专栏: C初阶 | C进阶 | 初阶数据结构 亲爱的小伙伴们,大家好!在这篇文章中,我们将深入浅出地为大家讲解 MySQL…...
水水水水水水
为了拿推广卷,但不想把我原本完整的文章拆成零散的多篇,只能出此下策随便发一篇,认真写的都笔记专栏里 网络技术:数字时代的基础设施 在当今社会,网络技术无疑是推动现代生活和经济发展的核心动力之一。从简单的信息传…...
基于STM32的智能电表可视化设计:ESP8266、AT指令集、python后端Flask(代码示例)
一、项目概述 随着智能家居的普及,智能电表作为家庭用电管理的重要工具,能够实时监测电流、电压及功率,并将数据传输至后台进行分析和可视化。本项目以STM32C8T6为核心,结合交流电压电流监测模块、ESP8266 Wi-Fi模块、OLED显示屏…...
SpringBoot的@Scheduled和@Schedules有什么区别
Scheduled 的详细解析 参数详解 cron: 使用Cron表达式来指定复杂的调度模式。Cron表达式的格式如下: 秒(0-59)分钟(0-59)小时(0-23)日(1-31)月(1-12 或 JAN-…...
Qiskit快速编程探索(进阶篇)
五、量子电路模拟:探索量子世界的虚拟实验室 5.1 Aer模拟器:强大的模拟引擎 在量子计算的探索旅程中,Aer模拟器作为Qiskit的核心组件之一,宛如一座功能强大的虚拟实验室,为开发者提供了在经典计算机上模拟量子电路运行的卓越能力。它打破了硬件条件的限制,使得研究者无…...
【漫话机器学习系列】043.提前停止训练(Early Stopping)
提前停止训练(Early Stopping) 提前停止(Early Stopping) 是一种在训练机器学习模型(尤其是深度学习模型)时常用的正则化技术,用于防止过拟合并提升模型的泛化能力。它通过监控验证集的性能&am…...
Linux(上):基本知识篇
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、Linux初识1 Linux简介2 Linux学习环境配置(1)安装Linux(2)FinalShell远程连接Linux服务器二、Linux基础命令1 Linux目录结构,根目录 /2 Linux命令基础(1)什么是命令、命令行?(2)…...
Python爬虫与1688图片搜索API接口:深度解析与显著收益
在电子商务的浩瀚海洋中,数据是驱动业务决策的核心引擎。阿里巴巴旗下的1688平台,作为全球领先的B2B在线市场,不仅汇聚了海量的商品信息,还提供了丰富的API接口,为开发者提供了强大的数据获取工具。本文将深入探讨1688…...
生物医学信号处理--随机信号通过线性时不变系统
本章主要讨论 (1)输出、输入间自相关函数和功率谱的关系以及两者间的互相关函数和互谱,把它们和系统的冲激响应与频率特性联系起来。这些是用于随机问题的基本关系,将分别讨论连续时间和离散时间两种情况。 (2)初步介绍一些线性系统在处理随机信号时的应用。但是,应该指出,…...
《HeadFirst设计模式》笔记(上)
设计模式的目录: 1 设计模式介绍 要不断去学习如何利用其它开发人员的智慧与经验。学习前人的正统思想。 我们认为《Head First》的读者是一位学习者。 一些Head First的学习原则: 使其可视化将文字放在相关图形内部或附近,而不是放在底部…...
Ubuntu更改内核
需求背景: 由于软件需要在较低版本或者指定版本才可以运行 版本: 配置文件: vi /etc/default/grub 启动界面: 可运行版本: 解决方案: 方案1、更改启动顺序 sudo vi /etc/default/grub 方案2、调整启动顺…...
广告公司咋找客户?怎么获取目标企业的采购部联系方式
在广告行业,获取目标企业采购部的联系方式是开展业务、拓展客户的关键一步。分享一些实用的方法,希望能帮到正在为获取联系方式而发愁的广告行业的朋友们。 一、利用官方网站和社交媒体平台 1. 官网 大多数企业的官方网站都会提供一些联系方式…...