如何使用 OpenAPI-3.0 表达 JSON-API 稀疏字段集

2023-12-30

我正在为我的 API 实现 OpenAPI-3.0 规范,并且我计划使用稀疏字段集 https://jsonapi.org/format/#fetching-sparse-fieldsets作为 GET 的参数。的例子参数 https://github.com/OAI/OpenAPI-Specification/blob/OpenAPI.next/versions/3.0.0.md#parameterObject使用 style=deepObject 有点稀疏,所以我不确定我是否完全正确。

- in: query
  name: fields
  style: deepObject
  schema:
    type: object
    additionalProperties:
      type: string

我可以结合使用 deepObject 和additionalProperties 选项吗?

我想支持灵活的查询参数输入,如下所示:GET /articles?include=author&fields[articles]=title,body&fields[people]=name但我不想详细说明每个资源和领域的每个选项。


你的定义是正确的。您可能还需要添加allowReserved: true https://github.com/OAI/OpenAPI-Specification/blob/master/versions/3.0.2.md#user-content-parameterallowreserved这样逗号中=title,body不是百分比编码的,您可以添加一个参数example用于文档目的的值:

- in: query
  name: fields
  style: deepObject
  allowReserved: true
  schema:
    type: object
    additionalProperties:
      type: string
    example:
      articles: title,body
      people: name

在 Swagger UI 中使用“try it out”时,请输入 JSON 格式的参数值,如下所示:

{
  "articles": "title,body",
  "people": "name"
}

Swagger UI 会将参数序列化为

?fields[articles]=title,body&fields[people]=name
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 OpenAPI-3.0 表达 JSON-API 稀疏字段集 的相关文章

随机推荐

  • 对我自己的库的未定义引用

    我已经创建了我的 lib a 文件 其中包含几个 gcc c file c o file o then ar sr lib libtest a file1 o file2 o file3 o 确认与 ar t lib libtest a f
  • 实体“ClassName”的给定名称为空

    我在 Eclipse Kepler 中使用 JPA 尽管类中没有任何变化 但我的实体 Bean 偶尔会开始显示错误 突然间 Entity注释突出显示为错误 相关错误消息为 实体 com test domain Result 的给定名称为空
  • 如何在运行模板时获取所有分配的 Smarty 变量?

    我想在模板内将所有变量分配给 Smarty 例如 如果我有这段代码 smarty gt assign name Fulano smarty gt assign age 22 result this gt smarty gt fetch fi
  • 绑定到自定义控件的一部分中的事件

    我正在尝试在以下位置实现该示例 https github com olohmann WpfRxControls https github com olohmann WpfRxControls 自定义控件分为三个部分 PART 文本框 PAR
  • 读取 Spring boot fat jar 内的文件

    我们有一个 Spring Boot 应用程序 它有一个遗留的 jar api 我们使用它需要使用 InputFileStream 加载属性 我们将旧版 jar 包装在 Spring Boot Fat jar 中 属性文件位于 BOOT IN
  • 将outputStream转换为字节数组[重复]

    这个问题在这里已经有答案了 如何获取输出流的字节 或者如何将输出流转换为字节数组 从理论角度来看 即 无论作为用例在实践中是否有意义 这是一个有趣的问题 本质上需要实现类似的方法 public abstract byte convert O
  • 如何使用 UIBezierPath 裁剪图像?

    我想从UIBezierpath闭合路径 见图 我将图像绘制在UIView using drawRect方法并绘制线条正在使用drawRect方法 如何获得特定的闭合路径图像 请帮我 提前致谢 此代码用于绘制 uibezierpath UIB
  • TYPO3 中的 eID 是什么?

    我已经多次遇到这个词了 通常 资源会直接解释如何做某事 但没有提及这是什么或它的用途 另外 很多资源都是德语的 或者不是很清楚 So 什么是 eID 这是 TYPO3 特有的东西还是一般概念 你能用它做什么 这对于 TYPO3 gt 9 仍
  • Python 中的顶级语句是什么?

    在 Python 指南的章节中项目结构 http docs python guide org en latest writing structure html中 高层声明 一词被多次提及 我不确定这到底指的是什么 我的猜测是 在加载模块后立
  • 迄今为止的字符串有时完整的日期存在有时我只在java中得到年份

    因此 我正在解析 json 有时我收到的包含日期的字符串已满 dd mm yyyy 有时我只收到 yyyy 我似乎无法将其转换为日期 所以如果有人可以提供帮助 根据您的业务需求 您可以使用以下命令将月份和日期默认为所需值DateTimeFo
  • 将 gitlab wiki 镜像到 github

    我们正在私有 GitLab 服务器上开发一个软件 外部没有人可以访问此服务器 现在我们必须以某种方式让我们的软件可供所有人使用 我们的想法是将存储库镜像到 GitHub 根据我们所做的一些研究 这应该是可能的 我们还在 GitLab 中维护
  • 如何将多维数组分配给临时变量?

    我想将静态分配的多维数组分配给临时变量 考虑以下示例 void foo int b 3 2 b 1 1 1 no segmentation fault int main int a 3 2 1 2 11 12 21 22 foo a int
  • Rails 应用程序在 Heroku 上失败:(没有路线匹配 [GET]“/”)

    Rails 和 Heroku 的新手 我正在尝试按照以下中的分步说明部署一个简单的应用程序导轨教程 http ruby railstutorial org ruby on rails tutorial book sec heroku ste
  • 使用 jQuery Deferred 进行错误处理和恢复

    我正在使用 jQuery 并且知道这个问题是因为 jQuery Deferred 实现不符合 Promises A 标准 我不想使用任何其他库来解决这个问题 有了这个 有没有办法从 Deferred fail 回调使我返回到成功链 这可以通
  • QWebInspector 无法正常工作

    我已将 QWebInspector 包含在我的 QT 项目中 并尝试在我的代码中使用它 不完全确定如何使用 因为我对 QT 还很陌生 我得到一个空白的 Web Inspector 屏幕 所以我认为 page 返回 null 我哪里出错了还是
  • 替换特殊字符(破折号)

    我试图用以下方法替换我认为的标准破折号gsub 我正在测试的代码是 gsub ABC reported estimate 但这没有任何作用 我将破折号复制并粘贴到http unicodelookup com 1 http unicodelo
  • Express:提供预压缩的静态资源

    我想预压缩我的静态资产 不包括图像 并为它们提供服务 服务于public文件夹 我有 app use express static path to public 我相信express compress 动态压缩 这似乎对静态资源的服务器 C
  • 数据表列中的逗号和 $

    我有一个包含 4 列的数据表 其中包含货币 目前 我将它们视为普通列 并手动将 附加到每个值 现在我需要将列格式化为包含逗号 有没有插件可以做到这一点 我还想删除手动添加 值 我检查了几个网站 但我真的不明白它们是如何工作的 更新答案以使用
  • 如何向 R 中的 data.frame 添加文档?

    我已经使用 R 一段时间了 我意识到如果您可以附加 data frame 中包含的描述数据 将会有很大帮助 因为您可以在 Rdata 文件中收集所有有用的研究信息 我想添加到我的数据帧信息 就像 iris 显示的信息 描述 iris 数据帧
  • 如何使用 OpenAPI-3.0 表达 JSON-API 稀疏字段集

    我正在为我的 API 实现 OpenAPI 3 0 规范 并且我计划使用稀疏字段集 https jsonapi org format fetching sparse fieldsets作为 GET 的参数 的例子参数 https githu