【问题标题】:Access Flask methods like before_request when using Connexion使用 Connexion 时访问 Flask 方法,如 before_request
【发布时间】:2018-10-13 04:54:54
【问题描述】:

我正在使用 Connexion 构建 API,因此我使用 app = connexion.FlaskApp(__name__) 而不是 Flask(__name__)

我想添加before_requestafter_request 处理程序来打开和关闭数据库连接。但是,由于appconnexion.FlaskApp 对象,这些装饰器方法不存在。

@app.before_request
def before_request():
    g.db = models.db
    g.db.connection()


@app.after_request
def after_request():
    g.db.close()

我在使用 Connexion 时如何使用before_request 和其他 Flask 方法?

【问题讨论】:

    标签: python flask connexion


    【解决方案1】:

    Connexion 实例将 Flask 实例存储为app attribute。你仍然可以通过它使用 Flask 可用的所有东西。

    app = connexion.FlaskApp(__name__)
    
    @app.app.before_request
    def open_db():
        ...
    

    Connexion 本身就是这样做的,例如他们的route 方法传递给self.app.route

    【讨论】:

      猜你喜欢
      • 2019-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-01-22
      • 1970-01-01
      • 2013-01-23
      相关资源
      最近更新 更多