해결된 질문
작성
·
136
·
수정됨
1
=
=========================================
[질문 템플릿]
1. 강의 내용과 관련된 질문인가요? (예/아니오)
2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? (예/아니오)
3. 질문 잘하기 메뉴얼을 읽어보셨나요? (예/아니오)
[질문 내용]
이런질문을 해도될지 모르겠습니다만.
타임리프 기본 강의중에 어떠한 리스트를 테스트 하기 위해서
addUsers라는 메소드로 리스트를 만들어서 model에 넣어 사용하는데요.
저같은경우라면 보통 더미?를 만들때는
private List<User> createUserList() {
List<User> list = new ArrayList<>();
list.add(new User("UserA",10));
list.add(new User("UserB",20));
list.add(new User("UserC",30));
return list;
}
이런식으로 만들어서 데이터를 전달하는데
영한님은
private void addUsers(Model model) {
List<User> list = new ArrayList<>();
list.add(new User("UserA",10));
list.add(new User("UserB",20));
list.add(new User("UserC",30));
model.addAttribute("users", list);
}
이런식으로 메소드에서 리턴하는것이 아닌 모델을 받아 처리하도록 구현하셨더라구요.
어떠한 장점이 있어서 이런식으로 구현하신건가요? 아니면 그냥 스타일의 차이일까요 ?
답변 1
2
안녕하세요. Super Novice님, 공식 서포터즈 OMG입니다.
올리신 방식대로 더미데이터를 만들어서 반환하는 경우에는 강의에서처럼 별도 함수를 호출해서
model에 담을 수도 있고,
ex) model.addAttribute("users", createUserList());
Json형태로 데이터를 반환할 수도있습니다.
ex)
@RestController
public class TestRestController {
@GetMapping
public List<User> dummy() {
return createUserList();
}
}
즉, 다양하게 활용할 수 있다는 장점이 있을 것 같습니다.
하지만 강의에서는 model에만 담아서 사용하려 하였기 때문에 model을 받아서 별도의 메서드를 만드신 것입니다 😀
감사합니다.
아 그렇게 큰이유는 없었군요 ㅎ 답변감사드립니다 서포터님!