gpt4 book ai didi

android - URL 查询参数字符串 "="转换为 "&"

转载 作者:行者123 更新时间:2023-11-29 00:27:02 26 4
gpt4 key购买 nike

在我的 Android 项目中,我将 Robospice 与 spring-android 结合使用。这适用于所有 REST 通信。但是对于下面的请求查询参数“=”正在转换为“&”。因此请求失败。

查询字符串: tags=["keywords:default=hello"]

通过检查日志,请求转换如下,供图书馆调用。

http://XXX/rest/media/search?token=123&tags=%5B%22keywords:default&hello%22%5D

这里的“=”号在“keywords:default=hello”中被转换为“&”

请求类

此处 tags = String.format("[\"keywords:default=%s\"]", mTag);

@Override
public MVMediaSearch loadDataFromNetwork() throws Exception
{
String search="";
if(!tags.equals(Constants.EMPTY_DATA))
search="&tags="+tags;
return getRestTemplate().getForObject( Constants.BASE_URL+"/media/search?token="+token+search, MVMediaSearch.class );
}

如果我在浏览器中触发 URL,就会出现错误。如果我在浏览器中将“&”符号更改为相应的 url 编码值,它就可以正常工作。

最佳答案

我也遇到了同样的问题。作为替代方案,我使用 getForObject(java.net.URI, java.lang.Class)。

URI uri = new URI(Constants.BASE_URL+"/media/search?token="+token+search);
getRestTemplate().getForObject(uri, MVMediaSearch.class );

http://docs.spring.io/spring/docs/3.0.x/javadoc-api/org/springframework/web/client/RestTemplate.html#getForObject(java.net.URI , java.lang.Class)

关于android - URL 查询参数字符串 "="转换为 "&",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18632327/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com