Swagger学习⑯——@ApiResponses注解

ops/2025/1/11 11:32:11/

介绍

@ApiResponses 是 Swagger/OpenAPI 注解库中的一个注解,用于在 Java 应用程序中为 API 方法定义多个响应。它是 @ApiResponse 注解的容器注解,允许你为一个 API 方法指定多个可能的响应。

基本用法

@ApiResponses 通常与 @ApiResponse 一起使用,用于描述一个 API 方法可能返回的不同 HTTP 状态码及其对应的响应信息。

源代码

java">package io.swagger.v3.oas.annotations.responses;import io.swagger.v3.oas.annotations.extensions.Extension;
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.METHOD, ElementType.TYPE, ElementType.ANNOTATION_TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Inherited
public @interface ApiResponses {ApiResponse[] value() default {};Extension[] extensions() default {};
}

注解属性

  • ApiResponse[] value() default {};:
    这是 @ApiResponses 的主要属性,用于指定一组 @ApiResponse 注解。

    • value() 是默认属性,可以省略属性名直接赋值。

    • default {} 表示如果没有显式赋值,默认值为空数组。

  • Extension[] extensions() default {};:
    这是 @ApiResponses 的扩展属性,用于支持 OpenAPI 规范的扩展功能。

    • extensions() 是属性名,可以通过 extensions = {...} 的方式赋值。

    • default {} 表示如果没有显式赋值,默认值为空数组。

示例代码

java">import io.swagger.v3.oas.annotations.media.Content;
import io.swagger.v3.oas.annotations.media.Schema;
import io.swagger.v3.oas.annotations.responses.ApiResponse;
import io.swagger.v3.oas.annotations.responses.ApiResponses;@ApiResponses(value = {@ApiResponse(responseCode = "200",description = "请求成功",content = @Content(mediaType = "application/json",schema = @Schema(implementation = DemoResponse.class))),@ApiResponse(responseCode = "400",description = "请求参数错误",content = @Content(mediaType = "application/json",schema = @Schema(implementation = ErrorResponse.class))),@ApiResponse(responseCode = "404",description = "资源未找到")
})
public ResponseEntity<DemoResponse> getResource() {// 方法实现
}




http://www.ppmy.cn/ops/149150.html

相关文章

青少年编程与数学 02-006 前端开发框架VUE 18课题、逻辑复用

青少年编程与数学 02-006 前端开发框架VUE 18课题、逻辑复用 一、组合式函数什么是“组合式函数”&#xff1f;鼠标跟踪器示例异步状态示例接收响应式状态 约定和最佳实践命名输入参数返回值副作用使用限制 在选项式 API 中使用组合式函数与其他模式的比较和 Mixin 的对比和无渲…

git 转移文件夹

打开终端或命令行界面&#xff1a;首先&#xff0c;确保你的电脑上安装了 Git&#xff0c;并打开终端或命令行界面。 导航到你的仓库目录&#xff1a;使用 cd 命令来切换到包含你想要移动文件夹的仓库的目录。 cd /path/to/your/repository使用 git mv 命令移动文件夹&#x…

[SAP ABAP] 使用LOOP AT...ASSIGNING FIELD-SYMBOL 直接更新内表数据

使用 LOOP AT...ASSIGNING FIELD-SYMBOL... 可以直接修改内表中的数据&#xff0c;而不需要先将内表数据复制到相应的工作区&#xff0c;然后再更新回内表中&#xff0c;从而提高性能 针对上述代码进行优化&#xff0c;我们使用LOOP AT...ASSIGNING FIELD-SYMBOL 直接更新内表数…

【每日学点鸿蒙知识】跳转三方地图、getStringSync性能、键盘避让模式等

1、跳转三方地图导航页 类似于Android 跳转到地图APP 导航页面&#xff1a; // 目标地点的经纬度和名称 double destinationLat 36.547901; double destinationLon 104.258354; String destinationName "目的地名称"; // 构建URI Uri uri Uri.parse("…

【Linux 之一 】Linux常用命令汇总

Linux常用命令 ./catcd 命令chmodclearcphistoryhtoplnmkdirmvpwdrmtailunamewcwhoami 我从2021年4月份开始才开始真正意义上接触Linux&#xff0c;最初学习时是一脸蒙圈&#xff0c;啥也不会&#xff0c;啥也不懂&#xff0c;做了很多乱七八糟&#xff0c;没有条理的笔记。不知…

易于使用和学习的编程语言Arc(list)入门手册

Arc是一种Lisp方言的编程语言。它是由Paul Graham开发的&#xff0c;旨在简化Lisp的语法和语义&#xff0c;使其更易于使用和学习。Arc的设计目标是提供一种简洁而强大的编程语言&#xff0c;适用于快速开发Web应用程序。它具有动态类型、自动内存管理和强大的元编程能力。Arc还…

赛车微型配件订销管理系统(源码+lw+部署文档+讲解),源码可白嫖!

摘要 赛车微型配件行业通常具有产品多样性、需求不确定性、市场竞争激烈等特点。配件供应商需要根据市场需求及时调整产品结构和库存&#xff0c;同时要把握好供应链管理和销售渠道。传统的赛车微型配件订销管理往往依赖于人工经验和简单的数据分析&#xff0c;效率低下且容易…

多模态人工智能在零售业的未来:通过GPT-4 Vision和MongoDB实现智能产品发现

多模态人工智能在零售业的未来&#xff1a;通过GPT-4 Vision和MongoDB实现智能产品发现 引言 想象一下&#xff0c;顾客在购物时只需上传一张他们所期望的服装或产品的照片&#xff0c;几分钟内便能收到来自他们最喜欢的商店的个性化推荐。这就是多模态人工智能在零售领域所带…