我正在使用Django Rest Framework。
API接收带有编码为URL的json对象的GET请求。例如:
/endpoint?%7B%0D%0A++%22foo%22%3A%5B%22bar%22%2C%22baz%22%5D%0D%0A%7D
解码参数在哪里
{
"foo":["bar","baz"]
}
我在Django或DRF的文档中找不到任何指向框架如何处理的内容,因此我可以通过执行类似以下操作来获得带有json对象的QueryDict
:
request.query_params # Should yield a dict -> {foo=[bar,baz]}
如何在Django Rest Framework中解码JSON编码的URL?
请注意,我的实际参数要复杂得多。使用POST并不是一种方法,因为调用者非常依赖缓存和书签
答案 0 :(得分:-1)
Urllib应该这样做:
from urllib.parse import unquote
url = "endpoint?%7B%0D%0A++%22foo%22%3A%5B%22bar%22%2C%22baz%22%5D%0D%0A%7D"
url = unquote(url)
print(url)
上面的代码几乎可以正常工作,但是编码可能不正确,不确定:
endpoint?{
++"foo":["bar","baz"]
}