如何解决查询参数中的过滤或订购API请求
我正在使用python向RESTful API发出get请求。使用以下格式与API接口没有问题:
activities = requests.get("url/activities",headers=headers).json()
根据API文档,我应该能够通过“使用网址中设置的查询参数发送请求”来对请求进行排序和/或过滤。这些是给出的示例:
/activities?q={"name": "Test"}
or
/activities?order={"field": "asc"}
但是,当我以以下格式发出请求时:
activities = requests.get("url/activities?q={'name': 'Test'}",headers=headers).json()
or
activities = requests.get("url/activities?order={'field': 'asc'}",headers=headers).json()
print(activities)
我得到:
{'type': 'Invalid Request error','code': 400,'message': 'Search query must be json'}
or
{'type': 'Invalid Request error','message': 'Order must be json'}
我不确定要查询或订购json需要做什么。我在API文档中找不到任何其他建议提出其他要求的东西。我在这里想念什么?
解决方法
问题在这里:
"url/activities?q={'name': 'Test'}"
{'name': 'Test'}
不是有效的JSON。 JSON只识别双引号。
与其他查询类似。
,关于您的讲话:
activities = requests.get("url/activities?q{'name':'Test'}",headers=headers).json()
or
activities=requests.get("url/activitiesorder{'field':'asc'}",headers=headers).json()
URL可能不像"url/activitiesorder{'field':'asc'}"
那样,现在url应该变成纯url了,如果您想添加一些其他参数,可以这样:
import requests
url = "https://website.com/activities"
headers = {'name':'test'}
activities = requests.get(url,headers).json()
print(activities)
了解更多信息
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。