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/


        
国产SR8201F以太网PHY芯片调试避坑指南:从机贴失败到杜邦线救场的实战记录 本文详细介绍了国产SR8201F以太网PHY芯片的调试避坑指南,涵盖硬件设计、PCB布局、SMT贴片及软件驱动等关键环节。通过实战案例解析,帮助工程师解决MII/RMII接口配置、电源设计、信号完整性等典型问题,提升以太网通信稳定性与EMC性能。 阅读详情

相关推荐

FSL软件安装

FSL软件安装

huang_tianyuan的博客 2631

用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万+

AI智能体协作:构建更精准的公司破产预测模型

公司破产预测对于金融机构、投资者和监管部门等具有至关重要的意义。准确的破产预测可以帮助金融机构提前做好风险防范,避免贷款损失;投资者可以根据预测结果调整投资组合,降低投资风险;监管部门可以及时发现潜在的金融风险,采取相应的监管措施。然而,传统的公司破产预测模型往往存在精度不高的问题,无法满足实际需求。本研究的目的是利用AI智能体协作的方式,构建一个更精准的公司破产预测模型。通过将多个AI智能体的优势进行整合,充分挖掘公司财务数据、市场数据等多源数据中的信息,提高预测的准确性和可靠性。

2501_92132293的博客 1082

Swagger 2.0 规范 详解

Swagger 2.0 规范 详解

RichardGeek的博客 5699

手把手教你用Pico4UE搭建100平米VR大空间:从设备检查、系统升级到地图绘制全流程

本文详细介绍了使用Pico4UE搭建100平米VR大空间的完整流程,包括设备检查、系统升级、地图绘制和性能优化等关键步骤。通过实战案例和专业技术建议,帮助用户高效部署企业级VR解决方案,适用于展厅漫游、工业仿真等多种场景。

weixin_28273593的博客 508

朱长江《偏微分方程简明教程》答案第一章部分

偏微分方程简明教程第一章习题1.1 第一章 习题1.1 1、指出下列方程的阶,并判断它是线性的还是非线性的。如果是线性的,说明它还是其次的: (1)ut−(uxx+uyy)+1=0;(2)ut−uxx+xu=0;(3)ut−uxxt+uux=0;(4)ux2+uuy=0;(5)utt−uxx+t2+x2=0;(6)ux+eyuy=0;(7)ut+uxxxx+1+u=0;(8)ux(1+ux2)−12+uy(1+uy2)−12=0;(9)∂4u∂x4+2∂4u∂x2∂y2+∂4u∂y4=0;(10)∂3u∂x

ymengm的博客 6760

Swagger2.0 API文档 YAML中文解释

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

一个标题 2662

学 Simulink—— 基于高频方波电压注入的表贴式永磁电机无感控制仿真

本文手把手教授基于Simulink的高频方波电压注入法实现表贴式永磁同步电机(SPMSM)无传感器控制。针对表贴式电机微弱凸极特性(Lq/Ld≈1.05-1.15),详解方波注入相比正弦注入的优势:通过5kHz方波(PWM频率半值)集中能量提升信噪比,并采用相邻周期电流直接相减的零延迟分离技术。系统架构包含高频注入器、无滤波器信号分离模块、锁相环观测器和磁饱和极性辨识等关键环节,提供参数设置经验(如注入幅值10-15%Vdc)和典型性能指标(位置误差<0.2rad)。特别强调工程实现要点:PWM同步时

xiaoheshang_123的博客 168

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

TPAMI 2024 | 基于外观的深度学习凝视估计:综述与基准测试

人类目光提供了关于人类焦点和意图的有价值信息,使其成为研究的关键领域。最近,深度学习彻底改变了基于外观的眼神估计。然而,由于眼神估计研究的独特特征,如2D眼神位置和3D眼神向量之间的不公平比较以及不同的预处理和后处理方法,缺乏开发基于深度学习的眼神估计算法的明确指导方针。在本文中,我们系统回顾了使用深度学习的眼神估计方法。首先,我们沿着典型的眼神估计流程调查现有的算法:深度特征提取、深度学习模型设计、个人校准和平台。

小白学视觉 342

Windows 11 安装、使用 Git:下载、安装、概念、命令、分支模型

本文详细介绍了在 Windows 11 系统上安装与使用 Git 的完整流程,涵盖从官方或国内镜像下载安装包、关键安装选项配置,到 Git 核心概念(如工作区、暂存区、分支、远程仓库等)的通俗解释。同时梳理了常用命令与五种主流 Git 分支模型(如 Git Flow、GitHub Flow 等),帮助开发者根据项目规模选择合适的工作流,是面向初学者与进阶用户的实用指南。

寒水馨 · 轻量级技术文档 · hanshuixin.org 2389

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

Qt软件开发-Qt编译zlib完成文件压缩解压(win10)

在软件开发中进行有需求需要将生成的一些文件打包上传到服务器,或者从服务器下载压缩包下来内部解压。或者自己做一些打包工具,那么使用zlib开源就可以很方便的完成。接下来介绍在zlib在windows下如何利用Qt进行编译,调用,介绍mingw、msvc,32/64位编译办法,完成zip文件打包生成例子。可以单文件压缩打包,多文件压缩打包,目录压缩打包等等。

2217

swagger-editor入门指南

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

lilei的博客 4423

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

swagger

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

timeisprecious的博客 235

efm32 入门.pdf

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

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

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

一张图学会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、付费专栏及课程。

余额充值