我正在使用 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 命令,但仍然没有发送过滤器参数。
答案 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"}'