如何在调用资源端点时只返回一个文档?

时间:2016-08-07 03:50:56

标签: python eve

我有一个用户'。当我像/api/users一样调用资源端点时,它会返回所有文档。如果我启用身份验证,我如何根据用户的用户名调用api/users时仅返回该用户文档?

或者如何禁用此端点/api/users并仅将身份验证设置为api/users/<email>

1 个答案:

答案 0 :(得分:1)

如果您使用的是用户限制资源访问权限,则可以使用Dynamic Lookup filter使用事件挂钩来users过滤auth_field结果。像这样:

from flask import current_app

def pre_GET_users(request, lookup):
    username = current_app.auth.get_request_auth_value()
    # only return user with current username
    lookup["username"] = username

app = Eve()

app.on_pre_GET_accounts += pre_GET_users
app.run()