美文网首页
如何省略flask的返回信息

如何省略flask的返回信息

作者: 茧城寒舍 | 来源:发表于2021-06-17 11:47 被阅读0次

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

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

    相关文章

      网友评论

          本文标题:如何省略flask的返回信息

          本文链接:https://www.haomeiwen.com/subject/zkfcyltx.html