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')
@standerResturn
def insert_apps():
'''
初始化app列表
:return:
'''
# 初始化app
result = init_apps()
# 返回信息
if not result:
return jsonify({'code':500,'msg':'初始化失败','result':''})
通过一个简单的装饰器就可以完成了。