我正在使用python eve开发一个Web应用程序。我暴露的端点很少。我有一个名为persons的端点,db模式userid中有一个字段。我想使用在读取请求参数后生成的随机字符串填充该字段。
我的问题是如何阅读这些参数。我无法在Eve文档中找到相同的语法。
这方面的任何帮助都会有所帮助
答案 0 :(得分:4)
我想这样的事情会起作用:
from eve import Eve
from flask import request
def update_inbound_docs(items):
# retrieve request parameter, if present
my_arg = request.args.get('key')
for document in items:
# update document 'userid' field according to my_arg
# value. replace with custom logic.
document['userid'] = 'bingo' if my_arg else 'ack!'
app = Eve()
# bind your callback to the POST method for 'persons'
# endpoint. it will be invoked after a POST request
# has been validated and before db is updated, so any
# update to 'items' will be persisted.
app.on_insert_persons += update_inbound_docs
app.run()
Eve是一个Flask应用程序,因此您可以随意使用Flask request
对象。有关详细信息,请参阅Database Hooks。
答案 1 :(得分:2)
我没有足够的声誉评论尼古拉的答案。
该行
app_on_insert_persons += update_inbound_docs
应该是
app.on_insert_persons += update_inbound_docs
PS:
可以使用http://example.com/?foo=bar
request.args["foo"]
的查询字符串