我正在尝试使用Connexion从包含OpenAPI 3.0.0规范的.yaml文件生成Flask代码。
当我执行此操作时:
我明白了
import connexion
app = connexion.App(__name__, specification_dir='swagger/')
app.add_api('Contato.yaml')
app.run(port=8080)
我得到这个异常:
connexion.exceptions.InvalidSpecification: {'content': {'application/json': {'schema': {'$ref': '#/components/schemas/Contato', 'x-scope': ['']}}}} is not valid under any of the given schemas
Failed validating 'oneOf' in schema['properties']['paths']['patternProperties']['^/']['properties']['get']['properties']['responses']['patternProperties']['^([0-9X]{3})$']:
{'oneOf': [{'$ref': '#/definitions/response'},
{'$ref': '#/definitions/reference'}]}
On instance['paths']['/{idContato}']['get']['responses']['200']:
{'content': {'application/json': {'schema': {'$ref': '#/components/schemas/Contato',
'x-scope': ['']}}}}
.yaml文件不包含“ x-scope”。 这个定义从哪里来? 我该如何克服这个例外?
答案 0 :(得分:0)
我无法重现该错误,我需要更多信息,但我认为此错误已在以下位置得到纠正:
https://github.com/Yelp/swagger_spec_validator/issues/50
添加您的需求文件:
swagger-spec-validator == 2.4.0
我相信它将解决