SpringBoot , Thymeleaf
[springboot] RestTemplate 를 이용한 간단하게 http 요청
수동애비
2024. 1. 3. 10:36
반응형
springboot 에서 다른 서버로 http 요청이 필요할 때 RestTemplate 을 이용해서 간단하게 요청 및 응답 수신이 가능하다.
구현 함수 예)
public <T> ResponseEntity<T> sendHttpPostMessage(String url, MultiValueMap<String, String> param, Class<T> tClass) {
HttpHeaders httpHeaders = new HttpHeaders();
// 필요한 헤더 항목을 추가
httpHeaders.add("", "");
HttpEntity<MultiValueMap<String, String>> entity = new HttpEntity<>(param, httpHeaders);
RestTemplate restTemplate = new RestTemplate();
return restTemplate.exchange(url, HttpMethod.POST, entity, tClass);
}
사용 예)
String id = "test";
String token = "sdfjhvxcklhsljfoiwelkvcjcklvjsdkljflw==";
String url = "https://요청 대상 url";
// 필요한 파라메터를 MultiValueMap 을 이용하여 추가
MultiValueMap<String, String> mvm = new LinkedMultiValueMap<>();
mvm.add("userid", id);
mvm.add("token", token);
// ResponseEntity 에 응답받을 데이터 형태의 클래스를 지정 및 클래스 타입을 파라메터로 전달
ResponseEntity<ResponseDTO> result = sendHttpPostMessage(url, mvm, ResponseDTO.class);
if (result.getStatusCode() != HttpStatus.OK) {
// TODO. 요청 실패에 대한 처리
return;
}
ResponseDTO rsp = result.getBody();
// TODO. rsp 데이터를 처리.