简单装饰器教你自定义flask的返回信息

1293 篇文章 7 订阅
215 篇文章 2 订阅

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':''})

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

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取 【保证100%免费】
在这里插入图片描述

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值