公共方法
private HttpHeaders createHeaders() {
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Bearer token");
headers.add("User-Agent", "Mozilla/5.0");
return headers;
}
private RestTemplate createRestTemplate() {
RestTemplate restTemplate = new RestTemplate();
List<HttpMessageConverter<?>> messageConverters = restTemplate.getMessageConverters();
for (HttpMessageConverter<?> messageConverter : messageConverters) {
if (messageConverter instanceof StringHttpMessageConverter) {
((StringHttpMessageConverter) messageConverter).setDefaultCharset(StandardCharsets.UTF_8);
}
}
return restTemplate;
}
Get请求
private Map<String, Object> sendGetRequest() throws Exception {
HttpHeaders headers = createHeaders();
// 可以在这里再添加请求头
HttpEntity entity = new HttpEntity(headers);
RestTemplate restTemplate = createRestTemplate();
String url ="http://localhost:8080/...";
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
int statusCodeValue = responseEntity.getStatusCodeValue();
String responseBody = responseEntity.getBody();
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.readValue(responseBody, Map.class);
}
Post请求
private Map<String, String> sendPostRequest(Object requestObject) throws Exception {
HttpHeaders headers = createHeaders();
// 可以在这里再添加请求头
headers.setContentType(MediaType.APPLICATION_JSON);
ObjectMapper objectMapper = new ObjectMapper();
String requestJson = objectMapper.writeValueAsString(requestObject);
HttpEntity entity = new HttpEntity(requestJson, headers);
RestTemplate restTemplate = createRestTemplate();
String url ="http://localhost:8080/...";
ResponseEntity<String> responseEntity = restTemplate.exchange(url, HttpMethod.POST, entity, String.class);
int statusCodeValue = responseEntity.getStatusCodeValue();
String responseBody = responseEntity.getBody();
Map<String, String> map = objectMapper.readValue(responseBody, Map.class);
if (statusCodeValue == 200 && Integer.parseInt(String.valueOf(map.get("status"))) >= 0) {
return map;
}
return null; // 请求失败时返回 null 或者抛出异常
}
文章来源地址https://www.toymoban.com/news/detail-688647.html
文章来源:https://www.toymoban.com/news/detail-688647.html
到了这里,关于Java发送请求到第三方(RestTemplate方式)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!