vlambda博客
学习文章列表

如何省略flask的返回信息


flask要求接口中,一定要有返回,比如下面的代码:

@jobs_bp.route('/init_apps', methods=('GET',),endpoint='init_apps')def insert_apps(): ''' 初始化app列表 :return: ''' # 初始化app result = init_apps() # 返回信息 if result: return jsonify({'code':200,'msg':'操作成功!','result':''}) else:        return jsonify({'code':500,'msg':'初始化失败','result':''})

(左右滑动查看完整代码)


其中jsonify部分就是必须要写的部分,如果不写flask会报错。


现在我只想要在真正需要的情况下去返回信息,如何实现呢?


代码如下:

from functools import wraps
def standerReturn(func): ''' 标准返回信息装饰器 :return: ''' @wraps(func) def wrapperd(*args,**kw): return_func = func(*args,**kw) if isinstance(return_func,flask.wrappers.Response): return return_func else: return jsonify({'code':200,'msg':'操作成功!','result':''}) return wrapperd

(左右滑动查看完整代码)


使用该装饰器:

@jobs_bp.route('/init_apps', methods=('GET',),endpoint='init_apps')@standerResturndef insert_apps(): ''' 初始化app列表 :return: ''' # 初始化app result = init_apps() # 返回信息 if not result:      return jsonify({'code':500,'msg':'初始化失败','result':''})

(左右滑动查看完整代码)


通过一个简单的装饰器就可以完成了。


-End-

如何省略flask的返回信息

链接:https://www.jianshu.com/p/e4534824fedf

本文为51Testing经授权转载,转载文章所包含的文字来源于作者。如因内容或版权等问题,请联系51Testing进行删

往期回顾




“阅读原文”一起来充电吧!