请求参数多种方法实现
public String queryYTO(String number){
String param ="{\"NUMBER\":\"" +number+ "\"}";//参数
String method = "track_query_adapter";//方法
String v = "v1";//版本
String data=param+method+v+secret;
String sign= Md5Base64Util.encryption(data);//签名
//test代替param
Map<String,String> test =new HashMap<>();
test.put("NUMBER",number);
//JSONObject类型 第1种
JSONObject postData = new JSONObject();
postData.put("timestamp", Md5Base64Util.timespan());
postData.put("param",param);
postData.put("sign",sign);
postData.put("format","JSON");
//MultiValueMap类型 第2种
MultiValueMap<String, String> requestBody = new LinkedMultiValueMap<>();
requestBody.add("timestamp", Md5Base64Util.timespan().toString());
requestBody.add("param",param);
requestBody.add("sign",sign);
requestBody.add("format","JSON");
//Map类型 第3种
Map<String,String> map =new HashMap<>();
map.put("timestamp", Md5Base64Util.timespan().toString());
map.put("param",JSON.toJSONString(test));
map.put("sign",sign);
map.put("format","JSON");
String url="https://openapi.yto.net.cn:11443/open/track_query_adapter/v1/HG5Ain/open19230647";
RestTemplate restTemplate=new RestTemplate();
return restTemplate.postForObject(url,map,String.class);
}
在 restTemplate(url,map,String.class)
其中
url:
request:目前这边提供3中
类型:
个人目前使用 最后一种请求参数,希望有人能留言,他们的区别呢,谢谢