GET请求URL拼接参数

Posted on 2022-05-06 16:06  jiaoqing。  阅读(658)  评论(0)    收藏  举报

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());
    }

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3