如何return 只调用一个资源端点上的一个文件?

How to return only one document on calling a resource endpoint?

我有一个collection'users'。当我像 /api/users 这样调用资源端点时,它 return 包含所有文档。如果我启用身份验证,我怎么能 return 只有那个用户文档调用 api/users 基于 his/her 用户名?

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

如果您使用的是用户限制的资源访问,您可以 Dynamic Lookup filter 使用事件挂钩通过 auth_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()