post json 做参数
@RequestMapping(value = "/record")
@ResponseBody
public String record(@RequestParam(value = "token")String token ,
@RequestParam(value = "elevatorId")String elevatorId,
String startTimeStr ,String endTimeStr) throws Exception {
CommonResult commonResult = new CommonResult();
String username=huaxiaContext.getHuaxiaUsername();
String password = huaxiaContext.getHuaxiaPassword();
String url = huaxiaContext.getHuaxiaUrl();
try {
Elevator_Elevator elevator = (Elevator_Elevator) RedisUtil.getTableData(usercenterContext.getRedisServerAddr(), usercenterContext.getRedisServerPort(),usercenterContext.getRedisServerPass(), Elevator_Elevator.class,elevatorId);
String sbId = elevator.getDb_videoMonitorDeviceId();
commonResult = JSON.parseObject( login(),CommonResult.class);
HttpHeaders requestHeaders = new HttpHeaders();
requestHeaders.setContentType(MediaType.APPLICATION_JSON);
requestHeaders.put(HttpHeaders.AUTHORIZATION, Collections.singletonList("Bearer " + commonResult.getData().toString()));
JSONObject requestJson = new JSONObject();
requestJson.put("deviceId", sbId);
requestJson.put("beginTime", startTimeStr);
requestJson.put("endTime", endTimeStr);
HttpEntity<JSONObject> requestBody = new HttpEntity<>(requestJson, requestHeaders);
RestTemplate restTemplate = new RestTemplate(generateHttpRequestFactory());
Object data= restTemplate.postForObject(url, requestBody, Object.class);
JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(data));
if("200".equals(jsonObject.get("retCode").toString())){
JSONObject jsonObject2 = JSONObject.parseObject( jsonObject.get("retCode").toString());
commonResult.setData(jsonObject2);
}else{
commonResult.setSuccess(false);
commonResult.setData(jsonObject.toString());
}
}catch (Exception e){
logger.error(e.getMessage());
commonResult.setSuccess(false);
commonResult.setData("设备已离线");
}
return objectMapper.writeValueAsString(commonResult);
}
/**
* 通过该工厂类创建的RestTemplate发送请求时,可忽略https证书认证
* @return 工厂
*/
private static HttpComponentsClientHttpRequestFactory generateHttpRequestFactory() throws Exception {
TrustStrategy acceptingTrustStrategy = ((x509Certificates, authType) -> true);
SSLContext sslContext = SSLContexts.custom().loadTrustMaterial(null, acceptingTrustStrategy).build();
SSLConnectionSocketFactory connectionSocketFactory = new SSLConnectionSocketFactory(sslContext, new NoopHostnameVerifier());
HttpClientBuilder httpClientBuilder = HttpClients.custom();
httpClientBuilder.setSSLSocketFactory(connectionSocketFactory);
CloseableHttpClient httpClient = httpClientBuilder.build();
HttpComponentsClientHttpRequestFactory factory = new HttpComponentsClientHttpRequestFactory();
factory.setHttpClient(httpClient);
return factory;
}