java实现快递物流查询(阿里云快递物流)
购买成功接下来去图下找到AppCode,调用快递接口时用的到
接下来直接贴上代码
/**
* 查询物流信息
* @return
*/
@RequestMapping("/queryWlInfo")
@ResponseBody
public LogisticReturn queryWlInfo(Integer lId,String lnumber){
String lognumber="";
Logistics logistics =null;
if (lId!=null){
//根据物流id查询物流编号
logistics= orderService.selLogisticsById(lId);
lognumber=logistics.getlNumber();
}
String host = "http://wuliu.market.alicloudapi.com";
String path = "/kdi";// kdi
String method = "GET";
String appcode = ""; // !填写你自己的AppCode
Map<String, String> headers = new HashMap<String, String>();
headers.put("Authorization", "APPCODE " + appcode); //格式为:Authorization:APPCODE 83359fd73fe11248385f570e3c139xxx
Map<String, String> querys = new HashMap<String, String>();
querys.put("no",lnumber );// 这是是物流单号
querys.put("type",lognumber );// 这是物流编码 非必填 会影响查询速度
LogisticReturn logisticReturn =null;
try {
HttpResponse response = HttpUtils.doGet(host, path, method, headers, querys);
String s = EntityUtils.toString(response.getEntity());
if (s.isEmpty() && s.equals("")){
return new LogisticReturn();
}
JSONObject jsonObject = JSON.parseObject(s);
//获取到返回的物流信息
Object result = jsonObject.get("result");
//将得到的物流信息转换为自定义的对象类
logisticReturn=JSON