2016-05-05 8 views
0

のは、私はランダム関数を実行したいとしましょう:python eve apiでメソッドを呼び出す方法は?

def compute_average(user) 

この関数は、いくつかの値の平均を計算し、ユーザフィールドに挿入します。それは単なる例です。

eve apiを使用してこの関数を呼び出す方法はありますか?

私はドキュメントを参照しましたが、何も見つかりませんでした。

+0

ソースコード...あなたはそれをどこで見ていますか? –

+0

これは一例です。私はあなたのAPIでコード化した関数について話していました – Babajaga

+0

私はEveを使っていませんが、Githubの例の 'settings.py'ファイルを見ていきます。 –

答えて

0

私が理解した場合、あなたが望むのは、要求の前後にカスタムコードを実行することです。これを行うには、Event Hooksを使用して、要求またはデータベースイベントの前後にコールバックを設定できます。 たとえばあなた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クエリをコード内で実行できます。 詳細については、ドキュメントを確認してください。 Eve以来

1

は、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 
} 
関連する問題