2016년 7월 15일 금요일

restTemplate의 Collection 응답 처리 방법

restTemplate으로 Collection 을 요청하는 경우 주의해야 할 점이 있다.


리턴 값 자체를 List, Set, Map으로 하는 경우 빈 값이 전달되면 restTemplate의 리턴 값은 null 값으로 처리된다.

Collection을 사용할 땐 null 보단 빈 Collection으로 리턴되는 것이 좋다.

따라서 아래와 같이 쓰는 게 좋다.

객체[] objs = getRestTemplate().getForObject("호출주소", 객체[].class);
List<객체> objList = Arrays.asList(objs);


이렇게 사용하는 경우 objList는 unmodifiable 객체가 되어 add나 remove가 불가능하다. 만약 add, remove를 원한다면 다음과 같이 선언한다.
List<객체> objList = new ArrayList<>(Arrays.asList(objs));


댓글 없음:

댓글 쓰기