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

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

실전! 스프링 부트와 JPA 활용2 - API 개발과 성능 최적화

contoller단 질문입니다.

작성

·

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.  

답변 1

0

안녕하세요. zzzzz님, 공식 서포터즈 y2gcoder입니다.

쉽게 생각하시면 좋을 것 같습니다. 딱 맞는 비유는 아니지만, 저희가 회원가입할 때 웹사이트를 보면 한 가지 방법만 제공하지 않습니다! email / password 및 가입 정보를 직접 입력하여 회원가입할 때도 있지만, Google이나 카카오톡을 사용해 회원가입하기도 합니다.

이처럼 서버 단에서도 회원가입 경로를 두 가지로 제공하는 것입니다. 위의 첫번째 코드(활용 2편)와 같이 요청 JSON을 받아 회원가입하는 API와, 두번째 코드(활용 1편)의 컨트롤러와 같이 직접 화면에서 작성된 Form 데이터를 받아 회원가입 하는 API를 둘다 제공할 수 있습니다 🙂

 

감사합니다.

zzzzz님의 프로필 이미지
zzzzz

작성한 질문수

질문하기