작성
·
106
0
첫번째코드는 jpa1탄 이고, 두번째코드는 jpa2탄 입니다. 2개 다 contoller단인데 1탄은 html에서만 동작하고 2탄은 postman에 같은곳에서 동작하는건가요? 근데jpa2탄 api만 놔두어도 정상작동은 되는데 원래 이런건가요?
@PostMapping("/api/v2/members")
public CreateMemberResponse saveMemberV2(@RequestBody @Valid CreateMemberRequest request) {
Member member = new Member();
member.setName(request.getName());
Long id = memberService.join(member);
return new CreateMemberResponse(id);
}
@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.setName(form.getName());
member.setAddress(address);
memberService.join(member);
return "redirect:/";
}
답변 1
0
안녕하세요. zzzzz님, 공식 서포터즈 y2gcoder입니다.
쉽게 생각하시면 좋을 것 같습니다. 딱 맞는 비유는 아니지만, 저희가 회원가입할 때 웹사이트를 보면 한 가지 방법만 제공하지 않습니다! email / password 및 가입 정보를 직접 입력하여 회원가입할 때도 있지만, Google이나 카카오톡을 사용해 회원가입하기도 합니다.
이처럼 서버 단에서도 회원가입 경로를 두 가지로 제공하는 것입니다. 위의 첫번째 코드(활용 2편)와 같이 요청 JSON을 받아 회원가입하는 API와, 두번째 코드(활용 1편)의 컨트롤러와 같이 직접 화면에서 작성된 Form 데이터를 받아 회원가입 하는 API를 둘다 제공할 수 있습니다 🙂
감사합니다.