1 只拼接参数:(适用于拼接的参数中没有特殊字符)
/**
* @Description get请求URL拼接参数
* @param url
* 接口地址(无参数)
* @param map
* 拼接参数集合
*/
public static String getAppendUrl(String url, Map<String, String> map) {
if (map != null && !map.isEmpty()) {
StringBuffer buffer = new StringBuffer();
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> entry = iterator.next();
if (StringUtils.isEmpty(buffer.toString())) {
buffer.append("?");
} else {
buffer.append("&");
}
buffer.append(entry.getKey()).append("=").append(entry.getValue());
}
url += buffer.toString();
}
return url;
}
2 拼接参数并且URL编码(适用于拼接参数中有特殊字符 eg:空格 之类的)
/**
* @Description get请求URL拼接参数 & URL编码
* @param url
* 接口地址(无参数)
* @param map
* 拼接参数集合
*/
public String getAppendUrl(String url, Map<String, String> map) {
StringBuffer buffer = new StringBuffer();
if (map != null && !map.isEmpty()) {
Iterator<Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Entry<String, String> entry = iterator.next();
if (StringUtils.isEmpty(buffer.toString())) {
buffer.append("?");
} else {
buffer.append("&");
}
buffer.append(entry.getKey()).append("=").append(entry.getValue());
}
}
return url + URLEncoder.encode(buffer.toString());
}
有其他交流的想法,可以加我创建的Q群:820080257