이미 생성되어있는 객체에 공통적으로 들어가는데
반복해서 넣으면 리소스를 잡아먹으니 한번만 통합해서 보낼때 사용하는것 같다.
{
"code":"success",
"data":{
"user":[
{
"id" = 1,
"email" = "naver@naver.com",
"nickName" = "네이버",
"viewCount" = 33
},
{
"id" = 2,
"email" = "google@google.com",
"nickName" = "구글",
"viewCount" = 33
},
{
"id" = 3,
"email" = "gmail@gmail.com",
"nickName" = "쥐",
"viewCount" = 33
},
....
{
"id" = 33,
"email" = "daum@daum.net",
"nickName" = "다음",
"viewCount" = 33
},
...
],
},
"message":null
}
User user1 = new User();
user1.setId(1L);
user1.setNickName("네이버");
user1.setEmail("naver@naver.com");
user1.setViewCount(33);
User user2 = new User();
user2.setId(2L);
user2.setNickName("구글");
user2.setEmail("google@google.com");
user2.setViewCount(33);
...
List<User> users = Arrays.asList(user1, user2, ...);
위와 같이 getCount는 같지만 중복해서 들어간다.
보내는 데이터가 커지고 찾는 것도 많고 쓸모없이 중복해서 가지고 있다는 것이다.
{
"code":"success",
"data":
"user":[
{
"id" = 1,
"email" = "naver@naver.com",
"nickName" = "네이버"
},
{
"id" = 2,
"email" = "google@google.com",
"nickName" = "구글"
},
{
"id" = 3,
"email" = "gmail@gmail.com",
"nickName" = "쥐"
},
....
{
"id" = 33,
"email" = "daum@daum.net",
"nickName" = "다음"
},
...
],
"viewCount" = 33,
},
"message":null
}
다른객체에서 이 User라는 개체를 가져와서 넣어줄 필요가 있다.
public class UserEnvelope {
private List<User> user;
private int viewCount;
public UserEnvelope(List<User> user, int viewCount) {
this.user = user;
this.viewCount = viewCount;
}
User user1 = new User();
user1.setId(1L);
user1.setNickName("네이버");
user1.setEmail("naver@naver.com");
User user2 = new User();
user2.setId(2L);
user2.setNickName("구글");
user2.setEmail("google@google.com");
List<User> users = Arrays.asList(user1, user2);
UserEnvelope envelope = new UserEnvelope(users, 33);