【发布时间】:2018-05-30 15:48:41
【问题描述】:
我有一个注册端点,其中 POST 请求不需要身份验证,因此在创建帐户时也不会将 AUTH_FIELD 添加到 mongodb 集合中。
由于我还需要此端点的用户限制资源访问权限,我正在尝试使用发布事件挂钩添加该字段:
AUTH_FIELD = 'user_id'
def adduserid(request, payload):
data = json.loads(payload.get_data().decode('utf-8'))
setid = data['_id']
app.data.driver.db['accounts'].update({"username" : username},{"$set": {"user_id": setid}})
app.on_post_POST_accounts += adduserid
我得到一个 KeyError 结果:
File "run.py", line 30, in adduserid
setid = data['_id']
KeyError: '_id'
我感觉我以错误的方式解析此有效负载对象,但我不知道出了什么问题。 也许有更简单的方法来做到这一点?
【问题讨论】:
-
此资源的
public_methods和public_item_methods设置如何? -
public_methods = ['POST']此资源允许用户在没有帐户数据的情况下创建帐户