使用Connexion时访问Flask方法,例如before_request

时间:2018-10-12 20:27:47

标签: python flask connexion

我正在使用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方法?

1 个答案:

答案 0 :(得分:0)

Connexion实例将Flask实例存储为app attribute。您仍然可以通过它使用Flask可用的所有功能。

app = connexion.FlaskApp(__name__)

@app.app.before_request
def open_db():
    ...

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