반응형
RestTemplate사용 시 Response에 매핑하는 객체에 Generic<T>를 설정하는 경우가 있다. 아래와 같이 공통 Response객체에 "data"필드의 객체를 원하는 객체로 설정을 하는 경우이다
public class ResponseVo<T> {
private RltVo rlt;
private List<T> data;
...
}
일단 아래와 같이 시도를 해보면 에러가 발생하는 등으로 데이터를 제대로 받아올 수 없다
// 실패
ResponseVo<MemberVo> response
= restTemplate.exchange("myurl", HttpMethod.POST, entity, ResponseVo.class).getBody();
RestTemplate의 exchange() 메소드를 보면 ParameterizedTypeReference을 파라메타로 선언할 수 있는데 이를 활용하면 된다.
ResponseVo<MemberVo> response
= restTemplate.exchange("myurl", HttpMethod.POST, entity, new ParameterizedTypeReference<ResponseVo<MemberVo>>(){}).getBody();
반응형
'개발 > SpringBoot' 카테고리의 다른 글
SpringBoot ResourceLoader 사용해서 classpath 파일 읽기 (0) | 2022.03.14 |
---|---|
SpringBoot HikariCP 상태 log 보기 (0) | 2022.02.24 |
SpringBoot WebConfig @EnableWebMvc, WebMvcConfigurer (0) | 2022.01.19 |
SpringBoot static resource 설정 (0) | 2022.01.19 |
SpringBoot EhCache JavaConfig설정 (0) | 2022.01.11 |
댓글