用RestTemplate调取接口,取得返回数据,携带heade…
2018-06-18 01:39:38来源:未知 阅读 ()
记录我自己的工作
get 请求 ,携带 请求头 header (token)
url 根据参数 动态拼接
参数 放入 map 动态拼接
private String lclUrl = "http://xxx.xxxx.com/lcl";
private String TOKEN360FOB_URL = "http://xxx.xxxxxx.com/token?username={name}&password={password}";
1 public JSONObject get360fobToken() { 2 String json = restTemplate.getForObject(TOKEN360FOB_URL, String.class, username, password); 3 JSONObject json1 = JSONObject.fromObject(json); 4 return json1; 5 }
1 /** 2 * 拼箱 3 * 4 * @param departure 5 * @param departureDate 6 * @param destination 7 * @param destCountry 8 * @param lsps 9 * @param sortBy 10 * @param pageNum 11 * @param pageSize 12 * @return 13 */ 14 public JSONObject getLclFreight(String departure, String departureDate, String destination, String destCountry, String lsps, String sortBy, int pageNum, int pageSize) { 15 return this.getFclAndLcl(departure, departureDate, destination, 16 destCountry, lsps, sortBy, pageNum, pageSize, lclUrl); 17 }
1 /** 2 * 共同代码抽取 3 * 4 * @param departure 5 * @param departureDate 6 * @param destination 7 * @param destCountry 8 * @param lsps 9 * @param sortBy 10 * @param pageNum 11 * @param pageSize 12 * @param xxxUrl 13 * @return 14 */ 15 private JSONObject getFclAndLcl(String departure, String departureDate, String destination, 16 String destCountry, String lsps, String sortBy, int pageNum, int pageSize, String xxxUrl) { 17 JSONObject json = this.get360fobToken(); 18 String t = json.getString("content"); 19 String token = "Bearer " + t;
// 将token 放入请求头 20 HttpHeaders requestHeaders = new HttpHeaders(); 21 requestHeaders.add("Authorization", token); 22 23 //参数 24 Map<String, Object> uriVariables = new HashMap<String, Object>(); 25 //拼接url 26 StringBuffer buffer = new StringBuffer(); 27 buffer.append("?"); 28 if (StringUtils.isNotBlank(departure)) { 29 buffer.append("departure={departure}").append("&"); 30 uriVariables.put("departure", departure); 31 } 32 if (StringUtils.isNotBlank(departureDate)) { 33 buffer.append("departureDate={departureDate}").append("&"); 34 uriVariables.put("departureDate", departureDate); 35 } 36 if (StringUtils.isNotBlank(destination)) { 37 buffer.append("destination={destination}").append("&"); 38 uriVariables.put("destination", destination); 39 } 40 if (StringUtils.isNotBlank(destCountry)) { 41 buffer.append("destCountry={destCountry}").append("&"); 42 uriVariables.put("destCountry", destCountry); 43 } 44 if (StringUtils.isNotBlank(lsps)) { 45 buffer.append("lsps={lsps}").append("&"); 46 uriVariables.put("lsps", lsps); 47 } 48 if (StringUtils.isNotBlank(sortBy)) { 49 buffer.append("sortBy={sortBy}").append("&"); 50 uriVariables.put("sortBy", sortBy); 51 } 52 53 buffer.append("pageNum={pageNum}").append("&"); 54 buffer.append("pageSize={pageSize}"); 55 uriVariables.put("pageNum", pageNum); 56 uriVariables.put("pageSize", pageSize); 57 String url = xxxUrl + buffer.toString(); 58 59 HttpEntity<String> requestEntity = new HttpEntity<String>(null, requestHeaders); 60 61 ResponseEntity<String> response = 62 restTemplate.exchange(url, HttpMethod.GET, requestEntity, String.class, uriVariables); 63 String resBody = response.getBody(); 64 JSONObject temp = JSONObject.fromObject(resBody); 65 66 67 return temp; 68 }
工作疑问:
可以用更简洁的方法 拼接 url 吗
个人qq : 332893400
AngDH.Lee
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- Swagger 生成 PHP API 接口文档详细步骤 2019-09-23
- Thinkphp5微信小程序获取用户信息接口的实例详解 2019-08-27
- 用PHP调用微博接口实现微博登录,可参考学习下! 2019-08-23
- PHP开发api接口安全验证的实例,值得一看 2019-08-23
- PHP开发API接口与使用,可深入了解下 2019-08-13
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash