sle*_*sle 4 json yaml swagger openapi
我希望在OpenAPI中表示以下JSON对象:
{
"name": "Bob",
"age": 4,
...
}
Run Code Online (Sandbox Code Playgroud)
属性的数量和属性名称尚未完全确定,因此我希望使用AdditionalProperties。但是,我不太确定如何通过OpenAPI / Swagger 2.0表示它。我尝试了这个:
Person:
type: object
additionalProperties:
type:
- int
- string
Run Code Online (Sandbox Code Playgroud)
或等效的JSON:
{
"Person": {
"type": "object",
"additionalProperties": {
"type": ["int", "string"]
}
}
}
Run Code Online (Sandbox Code Playgroud)
但这不太奏效。有什么方法可以保留我要表示的JSON对象的结构,特别是字符串和整数,而不是任意对象类型?
OpenAPI / Swagger 2.0不支持多类型值。您最多可以使用无类型架构,这意味着附加属性可以是任何内容-字符串,数字,布尔值等-但您不能指定确切的类型。
Person:
type: object
additionalProperties: {}
Run Code Online (Sandbox Code Playgroud)
这等效于:
Person:
type: object
Run Code Online (Sandbox Code Playgroud)
您可能需要切换到支持的OpenAPI 3.0,oneOf因此可以使用:
Person:
type: object
additionalProperties:
oneOf:
- type: string
- type: integer
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2594 次 |
| 最近记录: |