기본 HTTP 인증을 추가하는 방법에는 여러 가지가 있습니다. RestTemplate
.
1. 단일 요청
try {
String url = "https://jsonplaceholder.typicode.com/posts";
String authStr = "username:password";
String base64Creds = Base64.getEncoder().encodeToString(authStr.getBytes());
HttpHeaders headers = new HttpHeaders();
headers.add("Authorization", "Basic " + base64Creds);
HttpEntity request = new HttpEntity(headers);
ResponseEntity<String> response = new RestTemplate().exchange(url, HttpMethod.GET, request, String.class);
String json = response.getBody();
} catch (Exception ex) {
ex.printStackTrace();
}
Spring 5.1
이상을 사용하는 경우 더 이상 권한 헤더를 수동으로 설정할 필요가 없습니다. headers.setBasicAuth()
대신 방법을 사용하십시오 .
HttpHeaders headers = new HttpHeaders();
headers.setBasicAuth("username", "password");
2. 요청 그룹의 경우
@Service
public class RestService {
private final RestTemplate restTemplate;
public RestService(RestTemplateBuilder restTemplateBuilder) {
this.restTemplate = restTemplateBuilder
.basicAuthentication("username", "password")
.build();
}
}
3. 모든 요청에 대해
@Bean
RestOperations restTemplateBuilder(RestTemplateBuilder restTemplateBuilder) {
return restTemplateBuilder.basicAuthentication("username", "password").build();
}
도움이 되었기를 바랍니다.