使用 Connexion 时访问 before_request 等 Flask 方法
Access Flask methods like before_request when using Connexion
我正在使用 Connexion 构建 API,所以我使用 app = connexion.FlaskApp(__name__)
而不是 Flask(__name__)
。
我想添加 before_request
和 after_request
处理程序来打开和关闭数据库连接。但是,由于 app
是一个 connexion.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 方法?
Connexion 实例将 Flask 实例存储为 app
attribute。您仍然可以通过它使用 Flask 可用的所有东西。
app = connexion.FlaskApp(__name__)
@app.app.before_request
def open_db():
...
Connexion 本身就是这样做的,例如他们的 route
方法传递给 self.app.route
.
我正在使用 Connexion 构建 API,所以我使用 app = connexion.FlaskApp(__name__)
而不是 Flask(__name__)
。
我想添加 before_request
和 after_request
处理程序来打开和关闭数据库连接。但是,由于 app
是一个 connexion.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 方法?
Connexion 实例将 Flask 实例存储为 app
attribute。您仍然可以通过它使用 Flask 可用的所有东西。
app = connexion.FlaskApp(__name__)
@app.app.before_request
def open_db():
...
Connexion 本身就是这样做的,例如他们的 route
方法传递给 self.app.route
.