首页 > 解决方案 > 请求参数/查询字符串中是否存在有序对?在 GET 请求中

问题描述


我正在编写一个端点,将请求参数视为耦合的有序对(例如breed=labrador&name=fidobreed=dalmnation&name=mike等)在逻辑上是有意义的

我可以做些什么来从请求中强制执行这种配对(例如,有一个狗对象,dog1{breed=labrador&name=fido}&dog2{breed=dalmnation&name=mike}或者我是否只是按顺序读取参数并知道给定查询知道顺序很重要,我必须相信参数将遵循品种,名称品种,名称等?

对于上下文,我的端点将在 GET 请求中接受 [1,15] 狗,如果这有所不同,我将使用 Django。

很抱歉,如果以前有人问过这个问题或者在其他地方有过这个问题,我正在努力寻找合适的词来在 Google 上找到解决方案。

标签: httpurlhttprequestquery-string

解决方案


如果您使用的是GET请求,则可以将 json 字符串放入其中一个 url 编码变量中。就像这个带有 python 请求库的例子:

import requests,json
dogs = [
 { "breed": "labrador", "name": "fido"},
 { "breed": "dalmnation", "name": "mike"}
]   
payload = { "json": json.dumps(dogs) }
requests.get("http://endpoint", params = payload);

然后在接收端:

def my(request):
  myDogs = json.loads(request.GET.get('json'))

推荐阅读