奇门有msg对应错误的记录


我可能是 3.1
以下是还原场景
第一个方法
private static String getSellerItem() throws IOException {
Map<String, String> params = new HashMap<String, String>();
// 公共参数
params.put("page_index", "100");
params.put("page_size", "1");
params.put("method", "jushuitan.order.list.query");
params.put("app_key", appKey);
params.put("session", sessionKey);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
params.put("timestamp", df.format(new Date()));
params.put("format", "json");
params.put("v", "2.0");
params.put("sign_method", "hmac");
// 业务参数
params.put("fields", "num_iid,title,nick,price,num");
params.put("num_iid", "123456789");
// 签名参数
params.put("sign", signTopRequest(params, appSecret, SIGN_METHOD_HMAC));
// 请用API
return callApi(new URL(serverUrl), params);
}
第二个方法
public static String getSellerItem(String fangfa, Map<String, String> params) throws IOException {
// 公共参数
params.put("method", fangfa);
params.put("app_key", appKey);
DateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
params.put("timestamp", df.format(new Date()));
params.put("format", "json");
params.put("v", "2.0");
params.put("sign_method", "hmac");
// 业务参数
params.put("fields", "num_iid,title,nick,price,num");
params.put("num_iid", "123456789");
// 签名参数
params.put("sign", signTopRequest(params, appSecret, SIGN_METHOD_HMAC));
// 请用API
return callApi(new URL(serverUrl), params);
}
public static void main(String[] args) throws Exception { System.out.println(getSellerItem()); System.out.println(getSellerItem()); System.out.println("----------------"); Map<String,String> map=new HashMap<>(); map.put("page_index", "100"); map.put("page_size", "1"); System.out.println(getSellerItem("jushuitan.order.list.query",map)); System.out.println(getSellerItem("jushuitan.order.list.query",map)); }以下是运行结果
很奇怪----下第一个打印是正常的,而第二个出现 错误,我对map底层没有特别多的理解
第二个方法修正:
加入代码:
Map<String, String> params =new HashMap<>(); params.putAll(map);修改Map<String,String>参数名称为map
这样就正常了



















