flask 钩子
请求钩子
# 在第一次请求之前运行.
# 例子: 比如连接数据库操作, 只需要执行一次
@app.before_first_request
def before_first_request():
print('before_first_request')
# 在每一次请求都会执行
# 例子: 可以在这里做权限校验操作,比如说某用户是黑名单用户,黑名单用户登录系统将遭到拒绝访问,可以使用
# before_request进行权限校验
@app.before_request
def before_request():
print('before_request')
# 在请求之后运行
@app.after_request
def after_request(response):
# response: 就是前面的请求处理完毕之后, 返回的响应数据
# 如果需要对响应做额外处理,可以再这里进行
# json.dumps 配置请求钩子
# response.headers["Content-Type"] = "application/json"
print('after_request')
return response
响应钩子
错误处理
作用全局异常处理
@app.errorhandler(Exception)
def error_deal(e):
logging.exception(str(e))
return jsonify(gen_response(content=str(e)))