一、遇到问题
今天要写一个接口,收到请求后,给第三方接口发送请求,第三方接口会创建一个聊天室,然后返回报文。
碰到一个问题:
使用restTemplate.getForObject()发送请求时,获取的响应报文显示:{"message":"url请求非法!"},无法获取正确的响应报文。
代码如下:
//样例url
String url = "http://10.111.222.333/live";
String cid = "USER_NAME_EXAMPLE";
String signCode = "LIKEPASS123ABC456";
String roomId = "@ABC#1A2B3C";
String tail = "/chatRoom/create_room?cid="+cid+"×tamp="+System.currentTimeMillis()+"&roomId="+URLEncoder.encode(roomId);
String sign = "&sign="+signCode;
String s = MD5Util.computeMD5(tail+sign);
//获得最终的url
url = url + tail + "&md5=" + s;
RestTemplate restTemplate = new RestTemplate();
//发送请求并用String格式获取响应报文
String backStr = restTemplate.getForObject(url, String.class);
//将响应报文转为JSONObject格式
JSONObject backJson = JSONObject.fromObject(backStr);
//打印下请求地址,url
System.out.println(url);
//打印下响应报文,backStr
System.out.println(backStr);
调用接口后,收到的错误的响应报文:
{"messa

本文讲述了开发者在使用Spring的RestTemplate发送请求时遇到的URL编码问题,分析了编码冲突,提出了解决方案:使用URI对象而非字符串直接发送,以避免额外的编码处理。

426

被折叠的 条评论
为什么被折叠?



