Swagger ui连接找不到Python嵌套函数

Swagger ui连接找不到Python嵌套函数,python,swagger,swagger-ui,nested-function,connexion,Python,Swagger,Swagger Ui,Nested Function,Connexion,我正试图用文档记录一个已经存在的pythonapi。在他们的帮助下,我编写了swagger.yaml,记录了每条路线。现在,我想使用部署文档 (swagger.yaml文件的简要示例) 在服务器启动期间,我通过connexion.app更改了Flask应用程序,并且能够指定.yaml文件。但当我试图启动它时,它会立即崩溃: File "/usr/local/lib/python2.7/dist-packages/connexion/utils.py", line 74, in get_fun

我正试图用文档记录一个已经存在的pythonapi。在他们的帮助下,我编写了swagger.yaml,记录了每条路线。现在,我想使用部署文档

(swagger.yaml文件的简要示例)

在服务器启动期间,我通过connexion.app更改了Flask应用程序,并且能够指定.yaml文件。但当我试图启动它时,它会立即崩溃:

  File "/usr/local/lib/python2.7/dist-packages/connexion/utils.py", line 74, in get_function_from_name
raise ValueError("Empty function name")
exceptions.ValueError: Empty function name
据我所知,connexion将根据需要指向处理请求的功能的每个路径中的对象操作ID来进行手动测试功能。 问题:API的每个路由都定义为嵌套函数

def add_routes(app, oauth):
@app.route('/api/home', methods=['GET'])
@oauth.require_oauth()
def home():
    user = request.oauth.user
    return jsonify(
        user_id=user.user_id,
        username=user.username
    )
我知道python中的嵌套函数实际上根本不是函数:不可调用,只是存在于语言中,以便我们程序员组织代码

我认为这就是connexion的问题所在,它只是无法找到这些函数并将它们映射到手动测试功能,但我不确定如何解决这个问题。您是否看到了允许connexion映射函数而不必重构整个API以避免嵌套函数的功能


非常感谢您的帮助。

我猜您还没有定义处理函数。您需要提供与规范中的operationId匹配的module+函数

例如: 我在app.py文件中有一个名为get_user()的函数,我需要将operationId设置为app.get_user

operationId: app.get_user

希望有帮助

您将此文件放在何处?与swagger.yaml文件的目录相同。
operationId: app.get_user