如何定义架构任意JSON对象?

时间:2018-10-05 20:18:45

标签: json swagger jsonschema openapi oas

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

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

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

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

如何在OAS2 / JSON模式中做到这一点?

谢谢。

1 个答案:

答案 0 :(得分:0)

在这种情况下,您可以为有效负载使用空模式({})。

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

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

换句话说,此问题不在JSON架构范围内,而是在响应解码器的范围内(应在格式错误的响应正文上失败)。