Responses
对象包含一个{HTTP Status Code:Response
}映射。
在我发现的所有示例中,状态代码均以字符串形式提供:
{"200": {"description": "a pet to be returned"}}
我找不到将其作为字符串的要求,我尝试过的验证程序接受了整数。
我发现的只有a PR changing from integer to string in all YAML examples。
我应该只使用字符串吗?
编辑:在JSON中,只有字符串是有效键。因此,可以将问题改写为“以下两个假设中的哪个正确”?
OpenAPI未指定HTTP状态代码应为字符串,因为这是隐式的(JSON格式)。但是,验证和显示工具对此要求并不严格。
OpenAPI使用某种“ JSON超集”,其中整数键被视为有效。
答案 0 :(得分:0)
在this GH issue中,键必须是字符串:
OpenAPI可以用JSON或YAML规范地表示,就像您在JSON中所说的那样,只有字符串可以作为键。关于YAML:
此字段必须用引号引起来(例如,“ 200”),以确保JSON和YAML之间的兼容性。
这会导致键始终是字符串类型。
这实际上不是规范,而是JSON格式的要求。