회원 웹 계층 개발
DTO
@Getter @Setter
public class MemberForm {
@NotEmpty(message = "회원 이름은 필수 입니다.")
private String name;
private String city;
private String street;
private String zipCode;
}컨트롤러
@Controller
@RequiredArgsConstructor
public class MemberController {
private final MemberService memberService;
/**
* 회원 등록 뷰
*/
@GetMapping("/members/new")
public String createForm(Model model) {
model.addAttribute("memberForm", new MemberForm());
return "members/createMemberForm";
}
/**
* 회원 등록 뷰에서 넘어온 데이터로 회원 등록 처리
*/
@PostMapping("/members/new")
public String create(@Valid MemberForm form, BindingResult result) {
if (result.hasErrors()) {
return "members/createMemberForm";
}
Address address = new Address(form.getCity(), form.getStreet(), form.getZipCode());
Member member = new Member();
member.setAddress(address);
member.setName(form.getName());
memberService.join(member);
return "redirect:/";
}
/**
* 회원 전체 조회 뷰
*/
@GetMapping("/members")
public String list(Model model) {
model.addAttribute("members", memberService.findMembers());
return "members/memberList";
}
}마지막 업데이트