如何修复self._validate_spec(raw_spec)中的异常?

时间:2019-03-26 01:27:33

标签: python flask-restful connexion

我正在尝试使用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”。 这个定义从哪里来? 我该如何克服这个例外?

1 个答案:

答案 0 :(得分:0)

我无法重现该错误,我需要更多信息,但我认为此错误已在以下位置得到纠正:

https://github.com/Yelp/swagger_spec_validator/issues/50

添加您的需求文件:

swagger-spec-validator == 2.4.0

我相信它将解决