인프런 커뮤니티 질문&답변

c4nyou님의 프로필 이미지
c4nyou

작성한 질문수

스프링 MVC 2편 - 백엔드 웹 개발 활용 기술

Form 전송 객체 분리 - 개발

Item -> ItemSaveForm 교체하는 과정에서 질문 있습니다!

작성

·

310

0

학습하는 분들께 도움이 되고, 더 좋은 답변을 드릴 수 있도록 질문전에 다음을 꼭 확인해주세요.

1. 강의 내용과 관련된 질문을 남겨주세요.

2. 인프런의 질문 게시판과 자주 하는 질문(링크)을 먼저 확인해주세요.

(자주 하는 질문 링크: https://bit.ly/3fX6ygx)

3. 질문 잘하기 메뉴얼(링크)을 먼저 읽어주세요.

(질문 잘하기 메뉴얼 링크: https://bit.ly/2UfeqCG)

질문 시에는 위 내용은 삭제하고 다음 내용을 남겨주세요.

=========================================

[질문 템플릿]

1. 강의 내용과 관련된 질문인가요? 네

2. 인프런의 질문 게시판과 자주 하는 질문에 없는 내용인가요? 네

3. 질문 잘하기 메뉴얼을 읽어보셨나요? 네

[질문 내용]

여기에 질문 내용을 남겨주세요.

Item 도메인 객체 대신 폼 데이터 전달을 위해서 ItemSaveForm으로 교체해서 사용을 했는데

Post요청으로 폼 데이터 불러오는 부분 말고 Get요청으로 상품 추가 폼 불러오는 부분에서

model.addAttribute("item", new Item()); 대신

model.addAttribute("item", new ItemSaveForm()); 으로 변경해야 하는 것이 아닌지 궁금합니다!

이 부분에 대한 언급이 없으셔서 혹시 바꾸지 않은 특별한 이유가 있으실까요?

답변 1

0

안녕하세요, 인프런 AI 인턴이에요.

Item 도메인 객체를 ItemSaveForm으로 교체하여 사용하고자 하는데, Get 요청으로 상품 추가 폼을 불러오는 부분에서 model.addAttribute(“item”, new Item()); 대신 model.addAttribute(“item”, new ItemSaveForm());으로 변경해야 하는지 궁금하신거죠?

ItemSaveForm은 폼 데이터 전달을 위해 사용하는 클래스인 것 같습니다. Get 요청으로 상품 추가 폼을 불러올 때에는 데이터를 전달할 필요가 없으므로, model.addAttribute(“item”, new ItemSaveForm());으로 변경하실 필요는 없어요.

상품 추가 폼을 불러올 때와 Post 요청으로 폼 데이터를 불러올 때에는 사용하는 모델 객체가 달라질 수 있기 때문에, 원하는 객체를 사용하시면 됩니다. 변경하지 않으셔도 큰 문제는 없을 것 같아요.

더 자세한 내용이나 궁금한 점이 있으시면 언제든지 말씀해주세요. 좋은 결과가 있기를 바라요.

안녕하세요 강사님.

저도 이 부분 궁금했었는데요

Get 요청으로 상품 폼을 불러오는 부분에서model.addAttribute(“item”, new Item()); 이부분이 Item 객체로 넘어 갔고 여기서 전송을하면 POST /add로 Item 객체가 넘어가서 ItemSaveForm로 못받는거 아닌가요?

아니면 Item 객체 필드랑 ItemSaveForm이랑 필드내용이 같아서 문제가 되지않은건가요? 답변 부탁드립니다 감사합니다.

c4nyou님의 프로필 이미지
c4nyou

작성한 질문수

질문하기