使用 curl 测试烧瓶架。具有多个查询参数的 GET 请求

时间:2021-01-26 19:16:54

标签: api rest flask curl

我正在使用 Flask 框架来创建其余的 API。下面的代码是我写的其余部分。

@app.route("/posts/v2/list_by_date", methods=['GET'])
def public_posts_list_by_date():
    tracker_id = request.args.get('tracker_id')
    advanced_filters = request.args.get('filters')


    if advanced_filters:
        advanced_filters = json.loads(advanced_filters)
    else:
        advanced_filters = {}

'filters' 是一组参数,例如 start_date、limit、offset、end_date。

我想测试其余的,我用这个命令来测试它:

curl http://172.31.32.22:3100/posts/v2/list_by_date?tracker_id=6939&filters=start_date=2020-11-30T15:05:05&end_date=2021-01-20T15:05:05

问题是我没有收到flask中过滤器的参数,它总是空的。 我尝试了上述命令和许多其他 curl 命令,但仍然没有发送过滤器参数。

1 个答案:

答案 0 :(得分:0)

使用参数 --data-urlencode 预先对数据进行编码。
另见here

curl -G "http://172.31.32.22:3100/posts/v2/list_by_date" \
     --data-urlencode 'tracker_id=6939' \
     --data-urlencode 'filters={"start_date":"2020-11-30T15:05:05", "end_date":"2021-01-20T15:05:05"}'
相关问题