[Python EVE]:在Python EVE中读取请求参数值

时间:2015-04-16 14:50:14

标签: python rest eve

我正在使用python eve开发一个Web应用程序。我暴露的端点很少。我有一个名为persons的端点,db模式userid中有一个字段。我想使用在读取请求参数后生成的随机字符串填充该字段。

我的问题是如何阅读这些参数。我无法在Eve文档中找到相同的语法。

这方面的任何帮助都会有所帮助

2 个答案:

答案 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"]的查询字符串