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會報(bào)錯。
現(xiàn)在我只想要在真正需要的情況下去返回信息继榆,如何實(shí)現(xiàn)呢巾表?
代碼如下:
from functools import wraps
def standerReturn(func):
'''
標(biāo)準(zhǔn)返回信息裝飾器
: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':''})
通過一個簡單的裝飾器就可以完成了。