【问题标题】:How to define schema arbitrary JSON object?如何定义模式任意 JSON 对象?
【发布时间】:2019-03-11 09:13:36
【问题描述】:

我正在尝试使用 OAS v2 定义一个 API,它将返回一个有效负载以及一些元数据。

换句话说,对 API 的响应将是:

{
  "metadata":[
   {
     "key" :"key1",
     "value": "value1"
   }
  ],
  "payload": {Valid JSON}
}

有效负载可以是任何东西,并且在不同的场景中有所不同,唯一的限制是它必须是有效的 JSON 格式。因此,此时,我想将其定义为 JSON 对象,而不定义字段级别的详细信息。

如何在 OAS2/JSON 架构中做到这一点?

提前致谢。

【问题讨论】:

标签: json swagger jsonschema openapi oas


【解决方案1】:

在这种情况下,您可以将空架构 ({}) 用于有效负载。

JSON Schema 依赖于有效的 JSON 值,如果您的响应是格式错误的 JSON,您将无法提供它。

如果负载值格式错误,则整个响应将不是有效的 JSON。

换句话说,这个问题不在 JSON Schema 范围内,而是在您的响应解码器范围内(在格式错误的响应正文上应该会失败)。

【讨论】:

    猜你喜欢
    • 2013-10-22
    • 2021-07-15
    • 2016-08-13
    • 2012-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多