将map中的查询参数拼装到URL路径中

被调接口的URL路径:

//被调接口url
String apiUrl = "http://api.open.xxxxxx.com/implatform/interview/send?access_token=551c619ef13c45debe92a64880f5e1cdlzJv";

将下面的key和value放到一个map中:

phonetype:1
phone:15666888553
name:张三

将map中的key和value拼装成"&phonetype=1&phone=15666888553&name=张三"这种形式:

    public static String getUrlParamsByMap(Map<String, Object> map) {
        if (map == null) {
            return "";
        }
        StringBuffer sb = new StringBuffer();
        for (Map.Entry<String, Object> entry : map.entrySet()) {
            sb.append(entry.getKey() + "=" + entry.getValue());
            sb.append("&");
        }
        String s = sb.toString();
        if (s.endsWith("&")) {
            s = s.substring(0, s.length() - 1);
            //s = org.apache.commons.lang.StringUtils.substringBeforeLast(s, "&");
        }
        return s;
    }

将上面的被调接口URL和拼装好的查询参数组装起来:

    //合并两部分url
    public static String urlCombine(String path1, String path2){
        if(CommonUtil.isNullOrEmpty(path1)) throw new NullArgumentException("path1");

        if (CommonUtil.isNullOrEmpty(path2)) path2 = "";

        path1 = CommonUtil.trimEnd(path1, "?");
        path1 = CommonUtil.trimEnd(path1, "&");

        path2 = CommonUtil.trimStart(path2,"?");
        path2 = CommonUtil.trimStart(path2,"&");

        if (path1.indexOf("?")>-1){
            return path1+"&"+path2;
        }
        else{
            return path1+"?"+path2;
        }
    }

组装后就像下面这样(只是举例):

http://api.open.xxxxxx.com/implatform/interview/send?access_token=551c619ef13c45debe92a64880f5e1cdlzJv&phonetype=1&phone=15666888553&name=张三

 

如果觉得本文对您有帮助,不妨扫描下方微信二维码打赏点,您的鼓励是我前进最大的动力:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值