模拟一个请求
SpringCloud
@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的)。get或post都可以。
//在MongoDB中创建预警信息,从别的接口调用
public R createMsg(Map<String, Object> param) {
//logger.info("param:"+param.toString());
return R.data(sendPostRequest(plantServerBaseUrl+"/createMsg",param).toString());
}
/** 发送http post请求
*
* @param url 请求地址
* @param param 请求体Body中json
* @return
*/
public String sendPostRequest(String url, Map<String, Object> param) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//HttpEntity<String> entity = new HttpEntity<String>(headers);
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(param, headers);
RestTemplate restTemplate = new RestTemplate();
String strBody=restTemplate.exchange(url, HttpMethod.POST, entity,String.class).getBody();
return JSONObject.parseObject(strBody,Object.class).toString();
}
public String sendGetRequest(String url, Map<String, Object> param) {
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON_UTF8);
//HttpEntity<String> entity = new HttpEntity<String>(headers);
HttpEntity<Map<String, Object>> entity = new HttpEntity<>(param, headers);
RestTemplate restTemplate = new RestTemplate();
String strBody=restTemplate.exchange(url, HttpMethod.GET, entity,String.class).getBody();
return JSONObject.parseObject(strBody,Object.class).toString();
}