python eve优雅地退出回调

时间:2014-11-06 11:22:28

标签: python-3.x eve

我想知道是否可以在不完全处理PATCH请求的情况下更新项目。
我正在尝试做的是当用户向帐户/端点发送PATCH请求时,在db内随机生成并插入一个值。
如果我不退出PATCH请求我会得到一个错误,因为它需要一个值,但我不能提前给它,因为它会被随机生成。

def pre_accounts_patch_callback(request, lookup):
        if not my_func():
            abort(401)
        else:
            return HTTP 201 OK

我该怎么办?

1 个答案:

答案 0 :(得分:0)

不确定我得到了您想要实现的内容,但请记住,您实际上可以在回调中更新lookup,因此API将返回并处理更新后的版本,并进行验证。

import random

def pre_accounts_patch_callback(request, lookup):
    lookup['random_field'] = random.randint(0, 10)

app = Eve()
app.on_pre_PATCH_accounts += pre_accounts_patch_callback

if __name__ == '__main__':
    app.run()