2017-02-10 32 views
2

我想通過getlist()將一個列表作爲參數傳遞給燒瓶。 在這裏閱讀: REST API Best practice: How to accept list of parameter values as input燒瓶中的參​​數列表:只讀第一個值getlist()

你能幫助搞清楚爲什麼這個簡單的代碼無法讀取列表參數(skip_id)嗎?

def api_insight(path): 
    import pdb 
    skip_id = request.args.getlist('skip_id', type=None) 
    print('skip_id', skip_id) 
    pdb.set_trace() 

curl http://myexample.com/<mypath>/?&skip_id=ENSG00000100030,ENSG00000112062 
# empty list 


curl http://myexample.com/<mypath>/?&skip_id=[ENSG00000100030,ENSG00000112062] 
# empty list 

curl http://myexample.com/<mypath>/?&skip_id=ENSG00000100030&skip_id=ENSG00000 
# only first value is read in list 

回答

0

最後一種方式實際上應該工作。我只是在我的瀏覽器中試過。

http://localhost:5000/api?skip_id=ENSG000001000301&skip_id=ENSG00000 

給我

['ENSG00000100030', 'ENSG00000'] 

然而,捲曲,你會得到與&字符的麻煩,因爲它會把任務在後臺(至少如果你是在Linux上)。使用捲曲,你可以使用

curl -X GET -G http://localhost:5000/api?skip_id -d skip_id=ENSG00000100030 -d skip_id=ENSG00000 

得到你的描述結果。