swagger的yaml编写规则

测试:YAML & OpenAPI(Swagger) OpenAPI规范允许以YAML格式定义接口的信息,包括端点、操作、参数、响应等。一个简单的OpenAPI接口定义的YAML示例:定义了一个名为“Sample API”的API,该API有一个端点(/users)用于获取用户列表。定义了请求参数、响应以及用户的数据结构。 阅读详情
AI摘要

本文详细介绍了API参数的多种类型及其使用场景,包括查询参数、路径参数、头部参数等,并提供了具体的例子帮助理解。

          in: query //参数的位置
          name: limit //参数的名字
          type: integer //类型
          required: false //是否必须
          default: 20 //默认
          minimum: 1 //最小值
          maximum: 100 //最大值
          description: The numbers of items to return. //参数的描述
in:

query parameters, such as /users?role=admin

path parameters, such as /users/{id}

header parameters, such as X-MyHeader: Value

body parameters that describe the body of POST, PUT and PATCH requests (see Describing Request Body)

form parameters – a variety of body parameters used to describe the payload of requests with Content-Type of application/x-www-form-urlencoded and multipart/form-data (the latter is typically used for file uploads)

查询参数,例如/user。role=admin

路径参数,如/用户/id

头参数,如x-myheader:值

描述POST、PUT和补丁请求的主体的主体参数(参见描述请求主体)

表单参数——用于描述应用程序/x-www格式的请求的有效负载的各种各样的body参数,包括urlen编码和多部分/表单数据(后者通常用于文件上传)。


        - in: query
          name: status
          type: string
          enum: [available, pending, sold] //参数的枚举 enum关键字允许您将一个参数值限制为一组固定的值。enum值必须是与参数类型相同的类型。

      # color=red,black,white
      parameters:
        - in: query
          name: color
          type: array
          collectionFormat: csv
          items:
            type: string
一个多值参数必须用类型:数组和适当的集合格式来定义。
collectionFormat指定数组格式(具有多个参数的单个参数或具有相同名称的多个参数)和数组条目的分隔符。

collectionFormatDescriptionExample
csv (default)Comma-separated values. 逗号分隔foo,bar,baz
ssvSpace-separated values. 空格分隔foo bar baz
tsvTab-separated values."foo\tbar\tbaz"
pipesPipe-separated values.foo|bar|baz
multiMultiple parameter instances rather than multiple values. This is only supported for the in: query and in: formData parameters.foo=value&foo=another_value
        - in: query
          name: color
          required: false
          type: array
          minItems: 1 //最小数据项
          maxItems: 5 //最大项
          uniqueItems: true
          items:
            type: string
            enum: [black, white, gray, red, pink, orange, yellow, green, blue, purple, brown]

如果省略了这个参数,您还可以指定服务器将使用的默认数组:

        - in: query
          name: sort
          required: false
          type: array
          items:
            type: string
          default: ["-modified", "+id"]

        - in: query
          name: metadata
          required: true
          type: boolean
          allowEmptyValue: true  # <----- 允许空值

paths:
  /user/{id}:
    parameters:
      - in: path
        name: id
        type: integer
        required: true
        description: The user ID.

    get:
      summary: Gets a user by ID. 通过ID获取用户
      ...
    patch:
      summary: Updates an existing user with the specified ID. 使用指定的ID更新现有用户。
      ...
    delete:
      summary: Deletes the user with the specified ID.使用指定的ID删除用户。

For example, consider the /report endpoint that accepts either a relative date range (rdate) or an exact range (start_date+ end_date):

GET /report?rdate=Today
GET /report?start_date=2016-11-15&end_date=2016-11-20

You can describe this endpoint as follows:

paths:
  /report:
    get:
      parameters:
        - name: rdate
          in: query
          type: string
          description: >
             A relative date range for the report, such as `Today` or `LastWeek`.
             For an exact range, use `start_date` and `end_date` instead.
        - name: start_date
          in: query
          type: string
          format: date
          description: >
            The start date for the report. Must be used together with `end_date`.
            This parameter is incompatible with `rdate`.
        - name: end_date
          in: query
          type: string
          format: date //格式 binary 二进制 date 日期 
          description: >
            The end date for the report. Must be used together with `start_date`.
            This parameter is incompatible with `rdate`.
      responses:
        400:
          description: Either `rdate` or `start_date`+`end_date` are required.

  # Here, we override the "produces" array to specify other media types
  /logo:
    get:
      summary: Gets the logo image.
      produces: #API操作可以返回一个文件,比如图像或PDF。在这种情况下,用type:file定义响应模式,并在生成部分中指定适当的MIME类型。
        - image/png
        - image/gif
        - image/jpeg
      responses:
        200:
          description: OK


        type: "integer" # 参数类型 integer int 
        format: "int64" # 参数格式 int64 int32 date-time
相关文章:
 https://zhuanlan.zhihu.com/p/21353795
http://blog.youkuaiyun.com/yy8432113/article/details/53008143
http://swagger.io/specification/  //具体的数据格式文档
https://apihandyman.io/writing-openapi-swagger-specification-tutorial-part-5-advanced-input-and-output-modeling/
http://swagger.io/docs/specification/describing-parameters/


        
静态与动态LACP链路聚合:原理、配置与排错实战指南 链路聚合技术是提升网络带宽与可靠性的核心方案,通过将多个物理端口逻辑捆绑,实现带宽叠加与链路冗余。其原理基于IEEE 802.3ad标准,通过负载均衡算法将数据流分布到不同物理链路,既避免了数据包乱序,又提升了整体吞吐量。该技术的核心价值在于消除单端口瓶颈、提供毫秒级故障切换,并能简化网络拓扑管理。在企业服务器接入、数据中心互联及虚拟化平台等场景中,链路聚合已成为构建高可用网络的基础。实践中,动态LACP模式通过协议报文协商,能主动检测链路故障并防止配置错误导致的网络环路,相比静态聚合更为可靠。本文将深入解 阅读详情

相关推荐

C语言头文件完全解析(连“#”我都给你讲明白)

C语言头文件完全解析 引言 本文将尽量详细的介绍c语言的头文件所包含的知识,如有错误,还望指正。 萌新们肯定疑惑为什么每次打代码都要写一个所谓的头文件(如:#include<stdio.h>),这里先简单让大家有个了解,你所用的 printf("%d",a)就是这个 stdio里的东西,如果没有这个头文件,编译器都不知道 printf是个什么东东。所以头文件就是一个准备好的大仓库,你可...

CRAZY_eyes的博客 7万+

用swagger生成api的接口文档(yaml版)

swagger的文档可以用json和yaml写,这里我用的yaml写的,会以文档+效果图表现出来: swagger: "2.0" info: description: "this is a api for authenticating users and binding cloud accounts." version: "1.0.0" title: "Auth api" ho...

zxc的博客 5万+

【全开源】旅行吧旅游门票预订系统源码(FastAdmin+ThinkPHP+Uniapp)

此外,系统还会根据我的旅行计划和喜好,为我推荐合适的景点和门票,让我的旅行更加丰富多彩。旅游门票预订系统的出现,不仅简化了门票预订的流程,还提高了旅行的便捷性和效率。一款基于FastAdmin+ThinkPHP+Uniapp开发的旅游门票预订系统,支持景点门票、导游产品便捷预订、美食打卡、景点分享、旅游笔记分享等综合系统,提供前后台无加密源码,支持私有化部署。如今,有了旅游门票预订系统,这些问题都能迎刃而解。智能推荐:系统还会根据你的旅行计划和喜好,为你推荐合适的景点和门票,让你的旅行更加丰富多彩。

2401_84413757的博客 1302

Swagger 2.0 规范 详解

Swagger 2.0 规范 详解

RichardGeek的博客 5699

ClearML中文文档实战:从安装到第一个实验的保姆级教程

本文提供ClearML从零开始的实战指南,涵盖核心组件理解、Python SDK安装、服务器配置及首个自动化实验的完整流程。通过改造PyTorch训练脚本的实例,详细演示了如何利用ClearML自动记录实验参数、指标与模型,实现机器学习实验的可复现性与高效管理,并简要介绍了进阶的自动化工作流。

weixin_29216049的博客 398

手把手教你用SpringBoot+Vue3+Docker从零搭建一个在线OJ系统(附完整源码)

本文详细介绍了如何使用SpringBoot、Vue3和Docker从零搭建一个在线OJ系统,涵盖前后端开发、判题机实现及Docker容器化部署。通过完整的源码和实战步骤,帮助开发者掌握OJ系统的核心架构与关键技术,适用于算法训练、编程竞赛等场景。

weixin_42648844的博客 297

Swagger2.0 API文档 YAML中文解释

下面是swagger生成api的接口文档yaml版。

一个标题 2662

AutoSAR实战:手把手教你配置PNC(Partial Network Cluster)实现精准休眠与唤醒

本文详细介绍了如何在AutoSAR中配置PNC(Partial Network Cluster)实现精准休眠与唤醒,通过DaVinci Configurator工具逐步指导,结合ComM模块的协同调试,优化车载电子系统的能耗管理。文章包含实战步骤、常见错误排查及功耗优化数据,适合汽车电子开发工程师参考。

weixin_33725239的博客 466

Swagger yaml定义Restful API那些事(持续更新)

一、复杂模型 1、Value是一个Map<String, Map<String, String>>结构 嵌套Map的数据结构,如下示意 "translations": { "zh-CN": { "hello.world": "你好,世界" "hello.earth": "你好,地球" "hello.mars": "你好,火星" }, "en-US": { "hello.world": "Hello World" "hello.ear

少年不识愁滋味 3455

AIStarter避坑指南:Wan2.2 Animate整合包从下载到出片的完整流程(附常见错误修复)

本文提供了Wan2.2 Animate整合包从下载部署到生成高清视频的完整避坑指南。详细解析了通过AIStarter启动、环境配置、核心参数调优以及七大常见错误(如CUDA内存不足、节点缺失、视频模糊等)的根因与修复方案,帮助用户高效利用ComfyUI工作流,稳定生成720P高质量AI动画视频。

weixin_29052717的博客 705

科研绘图系列:R语言绘制差异蝴蝶图(Butterfly Chart)

科研绘图系列:R语言蝴蝶图(Butterfly Chart)

专注生信领域 1391

swagger的yaml规则-初始化

swagger: "2.0" info: description: "This is a sample server Petstore server. You can find out more about Swagger at [http://swagger.io](htt...

1748

作物生长模型Oryza V3实战1:为什么要研究它

ORYZAV3是水稻生长模拟模型ORYZA2000的最新升级版本(3.5版),作为作物生长模型,它通过数学方法和计算机技术模拟水稻生长发育过程及其与环境条件的相互作用。主要功能包括:模拟不同条件下的水稻生长和产量形成、评估环境胁迫影响、分析土壤碳氮动态以及进行区域尺度模拟。国内应用广泛,科研机构用于气候变化影响评估、灌溉模式比较等研究,并开展参数敏感性分析和应用培训。使用流程分为六个步骤:确定输入参数(气象、土壤、作物三类)、参数校准、设置模拟环境、运行模型、分析结果(输出50个参数)和计算产量(穗干重×收

505

swagger-editor入门指南

1首先说一下什么是Swagger 随着互联网技术的发展,现在的网站架构基本都由原来的后端渲染,变成了:前端渲染、先后端分离的形态,而且前端技术和后端技术在各自的道路上越走越远。 前端和后端的唯一联系,变成了API接口;API文档变成了前后端开发人员联系的纽带,变得越来越重要,而swagger就是一款让你更好的书写API文档的框架。 总而言之,swagger就是采用前后端分离的架构的项目所可以采用的...

lilei的博客 4423

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

swagger

swagger-uiswaggerswagger与yaml可参考:swagger的yaml编写规则https://blog.csdn.net/sjpeter/article/details/73480962---------------------------------------------------------------------Swagger - 前后端分离后的契约https://w...

timeisprecious的博客 235

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

springCloud整合swagger

application-swagger.yaml #配置说明: swagger.title=标题 swagger.description=描述 swagger.version=版本 swagger.license=许可证 swagger.licenseUrl=许可证URL swagger.termsOfServiceUrl=服务条款URL swagger.contact.name=维护人 swag...

luokine的博客 296

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

一张图学会yaml格式

springboot可以使用yaml格式编写配置文件 swagger可以通过yaml格式编写接口文档 YAML介绍 json比xml简洁 yaml又比json简洁 我们慢慢使用yaml完成一些配置文件、接口文档的编写 JSON 4种格式 key-》基本属性 key-》对象 key-》基本数组 key-》对象数组 key-》各种嵌套 YAML有以下基本规则: 1、大小写敏感 2、使用缩进表示...

billycoder的专栏 617

springBoot+springSecurity+Swagger3.0整合

springboot 2.7.5 + swagger3.0 整合

qq_35909525的博客 1112

Swagger-parser核心功能解析:JSON/YAML解析、$ref处理与API验证

Swagger-parser是一款功能强大的Swagger 2.0和OpenAPI 3.0解析器与验证器,它能够帮助开发者轻松处理JSON/YAML格式的API文档,智能解析$ref引用,并对API规范进行全面验证,是API开发过程中的得力助手。 ## 高效解析JSON/YAML格式API文档 Swagger-parser的核心功能之一是能够快速准确地解析JSON和YAML格式的API文档。它

gitblog_00618的博客 504

swagger-codegen 生成的 Java REST Assured 客户端模型:以 Animal 基类为例详解

`Animal.md` 是 swagger-codegen 为 Java REST Assured 客户端生成的模型文档,属于 [samples/client/petstore/java/rest-assured](https://link.gitcode.com/i/33467eb29446291be6e0b58f93864c7b) 示例工程的一部分。本文以该文档为核心,说明如何读懂此类自动生成

gitblog_00154的博客 378

go-swagger mixin 命令详解:合并多份 Swagger 2.0 规范为单一文档的实战指南

本篇指南围绕 go-swagger 工具链的 `swagger mixin` 命令展开,讲解如何把多份 Swagger 2.0 规范(spec)按优先级合并成一份,涵盖全部命令行参数、合并规则、冲突处理策略与已知限制。读完本文,你将掌握 `mixin` 的完整用法与底层合并机制,能够安全地把多服务、多版本的 API 定义整合为单一规范,并据此生成统一的客户端与服务端骨架。 ## mixin 是什

gitblog_00942的博客 81

AI的提示词专栏:API 文档 Prompt,从接口描述生成 Swagger

本文围绕从接口描述生成 Swagger 文档的 Prompt 设计展开,先解析 OpenAPI 3.0 规范下 Swagger 文档的八大核心构成,再阐述 Prompt 设计需包含的明确目标、提供上下文、约束格式、补充规则四大要素。通过 RESTful API、带 OAuth2.0 认证的 API、GraphQL API 三个典型场景,给出完整 Prompt 示例与生成的 Swagger 文档节选,并分析设计亮点。还针对文档字段缺失、数据模型未引用、示例不符约束等常见问题,提供 Prompt 优化方案……

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 9825

swagger-codegen 生成 Java 枚举类型详解:以 google-api-client 示例的 EnumClass 为实例

本篇指南围绕 swagger-codegen 生成的 Java 客户端示例中的 `EnumClass` 模型展开,讲解 OpenAPI/Swagger 定义中的字符串枚举(string enum)如何被模板引擎映射为 Java `enum` 类型。你将看到:枚举常量名与序列化值为何可以不一致、`@JsonValue` 与 `@JsonCreator` 如何配合完成 JSON 序列化与反序列化、以及

gitblog_00787的博客 595

3分钟掌握Swagger Editor代码格式化:自定义配置全攻略

你还在为API文档格式混乱而烦恼吗?作为API开发的必备工具,Swagger Editor的代码格式化功能能帮你快速整理OpenAPI规范文档。本文将详解如何自定义格式化规则,让你的API文档既规范又易读,即使是新手也能在3分钟内上手。 ## 一、认识Swagger Editor格式化核心功能 Swagger Editor的格式化功能主要通过编辑器插件实现,核心代码位于[src/plugins...

gitblog_00762的博客 882

Gradle Swagger Generator 插件使用指南

Gradle Swagger Generator 插件使用指南 项目介绍 Gradle Swagger Generator 插件是用于自动化OpenAPI规范的YAML验证、代码生成及API文档发布的Gradle插件。此工具旨在简化RESTful服务开发中的开放接口管理和客户端代码自动生成过程,支持开发者通过简单的配置即可处理Swagger定义文件,极大地提高开发效率。 项目快速启动 要快速开始...

gitblog_00640的博客 980

swagger-codegen 生成的 C 枚举与数组枚举模型解析:以 Petstore 的 EnumArrays 为例

本文以 swagger-codegen 生成的标准样例 C# 客户端中的 `EnumArrays` 模型([docs/EnumArrays.md](https://link.gitcode.com/i/f5cdf018446fb9f68d1be866552d0a6b))为主线,讲解 OpenAPI / Swagger 规范中的枚举属性(含枚举值含特殊符号)与"枚举数组"属性是如何被模板引擎翻译为

gitblog_00006的博客 314
上一篇: ES2017 标准引入了 async 函数
下一篇: vue项目相关插件的引入
亡魂
博客等级 码龄14年 38粉丝 54原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值