flask中的钩子函数
before_request, after_request钩子函数
- 关于这两个函数,一直贯穿请求的整个流程
- before_request是在请求进来时,还没有进入主体接口函数,一般可以用来做一些鉴权的操作
- after_request是接口函数返回后(包括了返回的response,因此这个钩子函数必须要返回一个结果给wsgi),可以针对请求的回应加入一些额外的结果
最近有碰到一个问题,由于鉴权是另外一个装饰器,使用在了具体的接口上,对于接口的返回,必须要判断是否有管理员权限才给返回正确的,否则需要返回一个401错误(前端已经定义401跳转操作)
1 | @app.after_request |
teardown_request
在after_request后才开始调用
主要对于请求完成后的一些关闭资源的操作,例如关闭db.session的操作都可以放在这里面
1 | @app.teardown_request |
flask中的response对象
有的时候需要在接口返回的response对象中获取到具体的信息,需要使用
get_data
方法来获取
如果需要针对当前的response对象加入一些信息,可以使用set_data
方法set_cookie(key, value)
定义cookie中的一些内容