RestTemplate restTemplate = new RestTemplate(); String apiUrl = "http://10.79.7.175:9000/aip/eam/equip/getEquipRouterList"; // 设置请求头 HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.APPLICATION_JSON); // 设置请求体 EquipRequestVo equipRequestVo = new EquipRequestVo() .setSysCode("TCAR") .setPkCategory("NHZC3100010000110000") .setPkOrg("12") .setPageRequest(new EquipRequestVo.PageParam().setPageNum(1).setPageSize(500)); // 发送 POST 请求 HttpEntity<EquipRequestVo> requestEntity = new HttpEntity<>(equipRequestVo, headers); ResponseEntity<EquipListEntity> responseEntity = restTemplate.exchange(apiUrl, HttpMethod.POST, requestEntity, EquipListEntity.class); // 获取响应体 EquipListEntity body = responseEntity.getBody(); System.out.println(body);,将上述代码的请求体转为json格式发送
时间: 2024-02-14 22:26:57 浏览: 118
RestTemplate实现post、get等请求工具类
要将请求体转换为 JSON 格式发送,你可以使用 Jackson 库将请求体对象转换为 JSON 字符串。然后,将 JSON 字符串作为请求体发送。以下是修改后的代码示例:
```java
RestTemplate restTemplate = new RestTemplate();
String apiUrl = "http://10.79.7.175:9000/aip/eam/equip/getEquipRouterList";
// 设置请求头
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.APPLICATION_JSON);
// 设置请求体
EquipRequestVo equipRequestVo = new EquipRequestVo()
.setSysCode("TCAR")
.setPkCategory("NHZC3100010000110000")
.setPkOrg("12")
.setPageRequest(new EquipRequestVo.PageParam().setPageNum(1).setPageSize(500));
// 将请求体转换为 JSON 字符串
ObjectMapper objectMapper = new ObjectMapper();
String jsonBody;
try {
jsonBody = objectMapper.writeValueAsString(equipRequestVo);
} catch (JsonProcessingException e) {
// 处理转换异常
e.printStackTrace();
return;
}
// 发送 POST 请求
HttpEntity<String> requestEntity = new HttpEntity<>(jsonBody, headers);
ResponseEntity<EquipListEntity> responseEntity = restTemplate.exchange(apiUrl, HttpMethod.POST, requestEntity, EquipListEntity.class);
// 获取响应体
EquipListEntity body = responseEntity.getBody();
System.out.println(body);
```
这样,你就可以将请求体以 JSON 格式发送了。请确保你的项目中已经引入了 Jackson 库的依赖。
阅读全文