假设我想执行一个随机函数:
def compute_average( user)
此函数将计算少量值的平均值并将其插入用户字段。这只是一个例子。
如何使用eve api调用此函数?
我查了一下文档,但没有找到任何内容。
答案 0 :(得分:1)
由于Eve
派生自Flask
,您可以使用Flask方式路由页面:
from flask import jsonify
from eve import Eve
app = Eve()
@app.route('/average/<user>')
def compute_average(user):
return jsonify({user:47})
if __name__=='__main__':
app.run(debug=True)
用法:
$ curl http://localhost:5000/average/joe
结果:
{
"joe": 47
}
答案 1 :(得分:0)
如果我理解,您想要的是在请求之前/之后运行自定义代码。为此,您可以使用事件挂钩在请求或数据库事件之前/之后设置回调。
在任何compute_average
到GET
资源之前运行users
的示例:
def compute_average(request, lookup)
# your code
app = Eve()
app.on_pre_GET_users += compute_average
app.run()
您的功能参数会稍微改变一下。作为documentation状态,对特定资源的回调会将原始flask.request
对象和当前lookup
字典作为参数接收。
但是,如果您需要检索文档以执行计算,则可以像往常一样在代码中执行mongodb
个查询。
有关详细信息,请查看文档。