我想通过getlist()将列表作为参数传递给flask。 在这里阅读: REST API Best practice: How to accept list of parameter values as input
你能帮忙搞清楚为什么这个简单的代码无法读取列表参数(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 :(得分:1)
最后一种方式应该可行。我刚刚在浏览器中尝试过它。
http://localhost:5000/api?skip_id=ENSG000001000301&skip_id=ENSG00000
给我
['ENSG00000100030', 'ENSG00000']
然而,对于curl,你会遇到&
字符的问题,因为它会将任务放在后台(至少如果你在Linux上)。使用curl,您可以使用
curl -X GET -G http://localhost:5000/api?skip_id -d skip_id=ENSG00000100030 -d skip_id=ENSG00000
获得您描述的结果。