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

2024-04-26 18:05:17 发布

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

我有一个“用户”集合。当我像/api/users那样调用资源端点时,它会返回所有文档。如果我启用了身份验证,那么如何在基于用户用户名调用api/users时仅返回该用户文档?你知道吗

或者我怎么才能禁用这个端点/api/users并且只将身份验证设置为api/users/<email>


Tags: 用户文档身份验证apiemail资源端点users
1条回答
网友
1楼 · 发布于 2024-04-26 18:05:17

如果您使用的是用户限制的资源访问,那么可以使用事件钩子Dynamic Lookup filterauth_field筛选users结果。像这样:

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()

相关问题 更多 >