2016-03-07 132 views
0

爲什麼我無法查看變量名?請求燒瓶API

當我輸入:

curl --data "name=value1" http://127.0.0.1:5000/echo 

輸出是:

ECHO : POST 

我也期待:

value1 

這是代碼:

from flask import Flask, request 
app = Flask(__name__) 

@app.route('/echo', methods = ['POST']) 
def api_echo(): 
    if request.method == 'POST': 
     print "ECHO : POST\n" 
     print request.args['name'] 
if __name__ == '__main__': 
    app.run() 

回答

0

你正在尋找的數據是request.formrequest.args

def api_echo(): 
    if request.method == 'POST': 
     print "ECHO : POST\n" 
     print request.form['name'] 

此打印:

ECHO : POST 

val1 

你不回從api_echo結束點什麼。儘管打印語句出現在python日誌中,但Curl仍然會引發錯誤。您應該爲該函數添加return值。

1
from flask import Flask, request 
app = Flask(__name__) 

@app.route('/echo', methods = ['POST']) 
def api_echo(): 
    if request.method == 'POST': 
     #changing "args" to "form" did the trick 
     print request.form['name'] 
if __name__ == '__main__': 
    app.run() 
0

要想從request.args中的數據,提出以下要求:

curl -X POST http://127.0.0.1:5000/echo?name=value1