如何使用python eve api调用方法?

时间:2016-05-05 21:32:42

标签: python api eve

假设我想执行一个随机函数:

def compute_average( user) 

此函数将计算少量值的平均值并将其插入用户字段。这只是一个例子。

如何使用eve api调用此函数?

我查了一下文档,但没有找到任何内容。

2 个答案:

答案 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_averageGET资源之前运行users的示例:

def compute_average(request, lookup) 
    # your code

app = Eve()
app.on_pre_GET_users += compute_average

app.run()

您的功能参数会稍微改变一下。作为documentation状态,对特定资源的回调会将原始flask.request对象和当前lookup字典作为参数接收。

但是,如果您需要检索文档以执行计算,则可以像往常一样在代码中执行mongodb个查询。 有关详细信息,请查看文档。