今天看后端http请求相关代码,心血来潮写了几个参数组织方式的方法与大家分享
NUM 1:
public static String wrapUrl(String url, HttpServletRequest request, Map<String, String> params)
{
StringBuilder urlBuilder = new StringBuilder(url);
if(url.indexOf("?") < 0)
{
urlBuilder.append('?');
}
int i = 0;
Map<String, String> reqMap = new HashMap<>();
for (Map.Entry<String, String[]> entry : request.getParameterMap().entrySet())
{
for (String value : entry.getValue())
{
reqMap.put(entry.getKey(), value);
}
}
//合并Map
reqMap.putAll(params);
for (Map.Entry<String, String> entry : reqMap.entrySet())
{
if(i > 0)
{
urlBuilder.append('&');
}
urlBuilder.append(entry.getKey()).append('=').append(entry.getValue());
i++;
}
return urlBuilder.toString();
}
NUM 2:
public static String organizeParams(Map<String, String> map) {
if (map.isEmpty()) {
return "";
}else {
String mark = "";
for (Entry<String, String> entry : map.entrySet()) {
if (entry.getValue() == null) {
continue;
} else {
mark = mark + "&" + entry.getKey() + "=" + entry.getValue();
}
}
return mark.replaceFirst("&", "?");
/// return "?" + mark.substring(1);
}
}
小伙伴们有好的建议或者意见请邮件:794465942@qq.com