应该如何正确地查看只返回属于请求它们的用户的对象的 API?
api/version/items/<items_id>
或者
api/version/user/<user_id>/items/<items_id>
在第一种情况下,服务器使用从其身份验证中获得的用户 ID 查询数据库。
我不知道如何在 Flask-restless 中创建这两种情况。我认为预处理器会很有用,我可以从授权(JWT 令牌)中获取 user_id,但我找不到将其用作 DB 搜索参数的方法。
from flask_jwt import JWT, jwt_required, current_user
...
manager.create_api(Item,
methods=['GET'],
collection_name='items',
url_prefix='/api',
preprocessors=dict(GET_SINGLE=[api_auth],GET_MANY=[api_auth]))
@jwt_required()
def api_auth(*args, **kwargs):
user_id = current_user.id
# some code with user id addition.
pass