使用RestTemplate进行请求Post接口时,中文乱码了?
解放方法
1. 接口
@PostMapping("/savaFile")
public String savaFile(@RequestBody DcdrFile dcdrFile) {
service.saveFile(dcdrFile);
return "调用接口成功,可删除agent数据库数据"
}
2. 使用RestTemplate发送请求
RestTemplate restTemplate = new RestTemplate();
// 定义请求header
HttpHeaders headers = new HttpHeaders();
MediaType mediaType = MediaType.parseMediaType("application/json; charset=UTF-8");
headers.setContentType(mediaType);
HttpEntity<String> paramEntity = new HttpEntity<>(JSONUtil.toJsonStr(dcdrFile), headers);
String apiResult = restTemplate.postForObject(uploadFileUrl, paramEntity, String.class);
解决思路
在RestTemplate发送请求时,需要设置请求头的MediaType
编码,在定义HttpEntity
时将headers带入到请求对象中。
就解决了中文乱码问题。