【发布时间】:2015-06-15 09:39:52
【问题描述】:
应该如何正确看待只返回属于请求它们的用户的对象的 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
【问题讨论】:
标签: python flask flask-restless