GET请求无参数示例
RestTemplate restTemplate = new RestTemplate();
restTemplate.getForObject(url, respondClass);
POST请求携带参数跟请求头示例
HttpHeaders headers = new HttpHeaders();
MultiValueMap<String, String> params = new LinkedMultiValueMap<String, String>();
params.add("username", "admin");
params.add("password", "admin");
headers.add("Authorization", data);
HttpEntity<String> request = new HttpEntity<String>(params , headers);
RestTemplate restTemplate = new RestTemplate();
restTemplate.postForObject(url, request, respondClass);
自定义请求
RestTemplate restTemplate = new RestTemplate();
restTemplate.exchange(url, HttpMethod.GET, request, respondClass);
携带头部示例
public static HttpHeaders createHeader(String username, String password) {
return new HttpHeaders() {{
String auth = username + ":" + password;
byte[] encodedAuth = Base64.encodeBase64(
auth.getBytes(Charset.forName("US-ASCII")) );
String authHeader = "Basic " + new String( encodedAuth );
set( "Authorization", authHeader );
}};
}
public static <T>T sendBasicAuthRequest(String uri, HttpMethod method, String username, String password, Class<T> responseType){
RestTemplate restTemplate = new RestTemplate();
return restTemplate.exchange(uri, method, new HttpEntity<>(createHeader(username, password)), responseType).getBody();
}