不說廢話,直接上一個筆者寫的共通方法
/**
* post請求
*
* @param postUrl
* @param param
* @return java.lang.String
* @author He
* @date 2020/8/28 19:35
**/
public static <T> T post(String postUrl, Object param, Class<T> type) {
RestTemplate restTemplate = new RestTemplate();
restTemplate.getMessageConverters().set(1, new StringHttpMessageConverter(StandardCharsets.UTF_8));
HttpHeaders headers = new HttpHeaders();
// 設置驗簽用的數據
// headers.add("Accept", MediaType.APPLICATION_JSON.toString());
// headers.add("Authorization", token);
// 設置content-type,很據需求設置
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
// 設置請求體
MultiValueMap<String, String> map = new LinkedMultiValueMap<>();
String con = JSON.toJSONString(param);
map.add("param", con);
// 用HttpEntity封裝整個請求報文
HttpEntity<MultiValueMap<String, String>> request = new HttpEntity<>(map, headers);
ResponseEntity<String> response = restTemplate.postForEntity(postUrl, request, String.class);
return JSON.parseObject(response.getBody(), type);
}
HttpClient對接方式,可查看筆者的另一篇文章《HttpClient接口調用》