如何在预挂钩中修改python eve请求

2024-05-15 02:47:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要确保每当用户对资源发出GET请求时,它总是包含一个名为“\u mes”的特定字段。当用户指定投影时,这就成了一个问题,所以我总是尝试添加它

app.on_pre_GET_my_resource = pre_get_my_resource_callback
...
...
...
def pre_get_my_resource_callback(request, lookup):
    """Always add _mes to projection"""
    projection = json.loads(request.args['projection']) if 'projection' in request.args else None
    projected_field = True if projection is None or ('_mes' in projection and projection['_mes'] == 1) else False
    if not projected_field:
        projection['_mes'] = 1
        request.args['projection'] = json.dumps(projection)
        print(projection)

问题是请求是不可变的,因此它失败了

我不想重复完全相同的查询自己和重复它,并必须合并后两者。。。我想夏娃一定有办法做到这一点,但怎么做呢


Tags: 用户injsongetifrequestmycallback

热门问题