URL:http://api.pcaexpress.com.au/tracking
请求类型:POST
请求参数:
参数 类型
api_id 字符串 必填
test 字符串
data 字符串 必填
sign 字符串 必填
除sign字段外,所有参数按照字段名的ascii码从小到大排序后使用keyvalue的格式(即key1value1key2=value2…)拼接而成,空值不传递,在拼接完的字符串前后俩段都加上API KEY密匙后进行MD5加密,最后将所有小写字母转为大写字母
public String buildSignStr(Map<String, Object> params) {
StringBuilder sb = new StringBuilder();
// 将参数以参数名的字典升序排序
Map<String, Object> sortParams = new TreeMap<String, Object>(params);
// 遍历排序的字典,并拼接"key=value"格式
for (Map.Entry<String, Object> entry : sortParams.entrySet()) {
if (sb.length()!=0) {
sb.append(SEPARATOR);
}
sb.append(entry.getKey()).append("=").append(entry.getValue());
}
return sb.toString();
}
sb.append(SEPARATOR);
什么意思,需要引入什么类
排序了吗?没发现排序啊
还要咋个排 - - 你测试下就知道了-
TreeMap 具有排序特性,Map 转成 TreeMap就是实现了排序。