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

두용님의 프로필 이미지
두용

작성한 질문수

실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발

회원 등록

폼 객체 사용 질문

해결된 질문

작성

·

473

3

 

폼 객체를 이렇게 이해한 것이 맞는지 !!

 

 

@GetMapping("/members/new")
public String createForm(Model model) {
    model.addAttribute("memberForm",new MemberForm());
    return "members/createMemberForm";
}

 

GET 요청시 비어있는 MemberForm 객체를 모델에 담아서 뷰(템플릿)에 전달 

 

@PostMapping("/members/new")
public String create(@Valid MemberForm form , BindingResult result) {

클라이언트가 폼에 작성한 필드들을 Submit 할때 POST 요청되어

템플릿에서 각 필드의 값들을

컨트롤러에서 넘겨준 모델의 form 객체에 set 한다 

Address address = new Address(form.getCity(), form.getStreet(), form.getZipcode());

Member member = new Member();
member.setName(form.getName());
member.setAddress(address);

memberService.join(member);

form 객체는 이제 값이 설정되었으니 

Member 객체를 생성하고 이 member 의 필드들을 

form 객체에서 가져와서 set 하고 join(회원가입)을 완료한다 . 

 

강의에서 말하는

폼 객체 vs 엔티티 직접 사용

 

지금은 서비스가 작아서 폼 객체를 사용하는 것이 더 번거러운 일인듯 한데 

더 복잡해지면 엔티티를 유지보수하기 어려워지기 떄문에 

엔티티는 화면을 위한 로직은 없어야 한다. 


항상 친절한 답변 주셔서 감사합니다 !

답변 1

1

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

네, 이해하신게 맞습니다.

꼼꼼히 본인이 이해한 내용을 정리해주셔서 제가 드릴 수 있는 피드백은 없는 것 같습니다.
.
감사합니다.

두용님의 프로필 이미지
두용

작성한 질문수

질문하기