将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=张三
如果觉得本文对您有帮助,不妨扫描下方微信二维码打赏点,您的鼓励是我前进最大的动力:
将map中的查询参数拼装到URL路径中的更多相关文章
- 获取request中的查询参数
//获取request中的查询参数 public static Map<String, Object> getRequestParamsByMap(HttpServletRequest r ...
- 以NameValueCollection 修改URL中的查询参数
以NameValueCollection 修改URL中的查询参数 本文参考于:http://www.c-sharpcorner.com/Blogs/9421/add-remove-or-modify- ...
- spring参数拼装
-- 知道轮子是怎么造的 -- 自己试着造一造轮子 ,这样才可以更好地利用轮子,轮子的缺陷和优点才能明确. spring参数拼装,需要用到set函数,参考文档: http://coderec.cn/2 ...
- CSS样式表、JS脚本加载顺序与SpringMVC在URL路径中传参数与SpringMVC 拦截器
CSS样式表和JS脚本加载顺序 Css样式表文件要在<head>中先加载,这样网页显示时可以第一次就渲染出正确的布局和样式,网页就不会闪烁,或跳变 JS脚本尽可能放在<body> ...
- sqlserver2008 中使用MSXML2.ServerXMLHttp拼装soap调用webservice
要调用的接口方法:UP_ACC_inst_Info(string xml) 接口参数:xml格式的字符串 接口功能:传递人员编号.备注到接口进行更新,接口返回更新结果. 实例: declare @st ...
- 用正则表达式获取URL中的查询参数
总结获取url中查询参数的两种方式 通过正则表达式获取单个参数 url中的所有查询参数可以通过 window.location.search 字段获取,以字符串的形式返回.并有固定的格式 ?param ...
- 《Entity Framework 6 Recipes》中文翻译系列 (21) -----第四章 ASP.NET MVC中使用实体框架之在页面中创建查询和使用ASP.NET URL路由过虑
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 4.2. 构建一个搜索查询 搜索数据是几乎所有应用的一个基本功能.它一般是动态的,因 ...
- path-to-regexp快速拆分 url 路径中的参数信息
介绍一个小工具 path-to-regexp 用于快速拆解url path中的部分,贴别适合restful接口中快速获取对应的实体参数 git地址可以参考 https://github.com/pil ...
- 解决Java工程URL路径中含有中文的情况
问题: 当Java工程路径中含有中文时,得不到正确的路径 *** 解决: 这其实是编码转换的问题.当我们使用ClassLoader的getResource方法获取路径时,获取到的路径被URLEncod ...
随机推荐
- java非web应用修改 properties/xml配置文件后,无需重启应用即可生效---自动加载
实现时主要使用Commons-Configuration.jar包,还需要commons-lang,disgestor,beanutils,collections等, package propFile ...
- session会话保持原理
1. 什么是会话保持? 会话保持是负载均衡最常见的问题之一,也是一个相对比较复杂的问题.会话保持有时候又叫做粘滞会话(Sticky Sessions).会话保持是指在负载均衡器上的一种机制,可以识别客 ...
- [转]shell awk sed tr grep 语法汇总
tr 基本语法 -c # 用字符串1中字符集的补集替换此字符集,要求字符集为ASCII -d # 删除字符串1中所有输入字符 -s # 删除所 ...
- VS2010启动多个实例调试
项目中经常出现一个解决方案里面有多个程序,如果想按F5启动多个实例进行操作调试那该怎么操作呢? 以前自己都使用附加进程的方法调试,这样的调试不需要按F5,自己只要运行多个程序后,使用vs的附加进程到对 ...
- 把PHP的数组变成带单引号的字符串
上次做项目的时候,遇到 查询结果为 数组.因为条件原因,需要用$where['_string'] 去组合查询.进而用到把数组变成单引号的字符串.举例:查询返回的数组为: $projectcode_ar ...
- Swift 多态
前言 同样的操作或者方法,不同的对象在执行时会出现完全不同的行为,这就叫多态. 1.Swift 多态 多态是讲具有同样的父类的一批类之间,都重写了父类的同一个方法实现自己的行为,但是表现出来则各不相同 ...
- cucumber_java从入门到精通(5)使用maven创建cucumber_java项目
cucumber java从入门到精通(5)使用maven创建cucumber java项目 前几节我们已经在感性上认识了cucumber的基本功能以及BDD测试的基本流程,我们渐进重构,一步一步的向 ...
- C++栈学习——顺序栈和链栈的差别
C++中栈有顺序栈和链栈之分.在顺序栈中,定义了栈的栈底指针(存储空间首地址base).栈顶指针top以及顺序存储空间的大小stacksize(个人感觉这个数据成员是能够不用定义的) //顺序栈数据结 ...
- Java 9 揭秘(1. 入门介绍)
文 by / 林本托 在第一部分中,主要讲解如下内容: JDK 9 包含了哪些内容 运行代码的系统要求 如何安装 NetBeans 1 JDK 介绍 JDK 9是Java开发工具包的第九个主要版本,计 ...
- BUG处理流程说明
一. BUG处理流程图: 流程描述: 1. 测试人员发现bug提交给开发. 2. 开发人员判断是否是bug. 3. 如果是bug,进行修改,修改完成后更改bug状态为已解决. 4. ...