Python装饰器实现参数校验

2020-11-17 发表在 编程语言 263
    def requires(*params):
        def _deco(view_func):
            @wraps(view_func)
            def _handler(request, *args, **kw):
                # 校验参数
                for key in params:
                    if key not in request.GET:
                        return JsonResponse(data={
                            'code': 'CHECK_ERROR',
                            'msg': '参数校验出错,"{}"是必选的!'.format(key)
                        })
                response = view_func(request, *args, **kw)
    
                return response
    
            return _handler
    
        return _deco
    ## 使用
        @requires('out_trade_no', 'total_amount', 'subject', 'platform')
    def create(request):
        pass
    作者:贝塔博客
    本站使用「署名 4.0 国际」创作共享协议,转载请在文章明显位置注明作者及出处。
    评论
    登录以后才可以发布评论哦, 点击登录 发布评论
    评论列表 0人参与,0条评论
    暂时还没有人评论,快来一条神回复吧!