1.动态遍历Map参数组装get请求参数
public static String buildQueryString(Map<String, Object> params) {
StringBuilder queryString = new StringBuilder();
for (Map.Entry<String, Object> entry : params.entrySet()) {
String key = entry.getKey();
String value = Convert.toStr(entry.getValue());
if (queryString.length() > 0) {
queryString.append("&");
}
try {
queryString.append(URLEncoder.encode(key, String.valueOf(StandardCharsets.UTF_8)));
queryString.append("=");
queryString.append(URLEncoder.encode(value, String.valueOf(StandardCharsets.UTF_8)));
} catch (UnsupportedEncodingException e) {
throw new RuntimeException(e);
}
}
return queryString.toString();
}
使用
String url = "http://baidu.com";
String queryString = buildQueryString(params); // 构建查询字符串
String fullUrl = url + "?" + queryString;