/** * 封装的get请求,暂时只支持map传参,并且value只支持基本类型和String * * @param url * @param object * @return */ public static String getForObject(String url, Object object) { StringBuffer stringBuffer = new StringBuffer(url); if (object instanceof Map) { Iterator iterator = ((Map) object).entrySet().iterator(); if (iterator.hasNext()) { stringBuffer.append("?"); Object element; while (iterator.hasNext()) { element = iterator.next(); Map.Entry<String, Object> entry = (Map.Entry) element; //过滤value为null,value为null时进行拼接字符串会变成 "null"字符串 if (entry.getValue() != null) { stringBuffer.append(element).append("&"); } url = stringBuffer.substring(0, stringBuffer.length() - 1); } } } else { throw new RuntimeException("url请求:" + url + "请求参数有误不是map类型"); } log.info("url请求:" + url); return new RestTemplate().getForObject(url, String.class); }
get请求示例:
HashMap<String, Object> stringObjectHashMap = new HashMap<>(); stringObjectHashMap.put("token", token); stringObjectHashMap.put("url", url); try { log.info("解析url的正文url{}", url); String forObject = RestTemplateUtil.getForObject(tokenUrl, stringObjectHashMap); log.info("通过url查询内容数据{}", forObject); JSONObject jsonObject = JSON.parseObject(forObject); Integer retcode = (Integer) jsonObject.get("retcode"); if (retcode == 1) { //解析url的获取的正文数据 JSONArray data = jsonObject.getJSONArray("data"); List<AnalysisContentVo> list = data.toJavaList(AnalysisContentVo.class);
} catch (Exception e) { log.error("解析正文失败{}", e); }
post请求示例:
Map<String, String> map= new HashMap<String, String>(); map.put("text1","张三、李四、王五、房间爱睡懒觉可代发哦哦"); map.put("text2","张三、checked李1四、王五123、房间爱睡懒觉可代发哦哦1"); HttpHeaders headers = new HttpHeaders(); headers.set("Content-Type","application/json"); HttpEntity<Map<String, String>> request = new HttpEntity<>(map, headers); String url1 = "http://ml.intm.com:8087/api/similarity/v1/"; String stringResponseEntity = restTemplate.postForObject(url1, request, String.class);
log.info("返回参数:{}", stringResponseEntity ); JSONObject jsonObject = JSON.parseObject(jsonStr); String content = jsonObject.getString("content"); String summaryInfo = jsonObject.getString("summary_info"); List<ScreenHotNewsContentBO> contentBOList = JSON.parseArray(content, ScreenHotNewsContentBO.class); ScreenHotNewsPageResultBO pageResultBO = JSON.parseObject(summaryInfo, ScreenHotNewsPageResultBO.class);