• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    해결됨

타임리프 기본기능 강의중에 궁금한것이 있습니다.

24.01.23 15:59 작성 24.01.23 19:10 수정 조회수 77

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

OMG님의 프로필

OMG

2024.01.23

안녕하세요. Super Novice님, 공식 서포터즈 OMG입니다.

올리신 방식대로 더미데이터를 만들어서 반환하는 경우에는 강의에서처럼 별도 함수를 호출해서

model에 담을 수도 있고,

ex) model.addAttribute("users", createUserList());

Json형태로 데이터를 반환할 수도있습니다.

ex)

@RestController
public class TestRestController {
    @GetMapping
    public List<User> dummy() {
        return createUserList();
    }
}

 

즉, 다양하게 활용할 수 있다는 장점이 있을 것 같습니다.

하지만 강의에서는 model에만 담아서 사용하려 하였기 때문에 model을 받아서 별도의 메서드를 만드신 것입니다 😀

 

감사합니다.

아 그렇게 큰이유는 없었군요 ㅎ 답변감사드립니다 서포터님!