회원 등록

MemberController에 @GetMapping으로 새로 추가할 웹페이지 구현한다! @GetMapping("/members/new")에 맵핑할 url 주소를 넣어준다!!!

return => 렌더링할 페이지 넣어준다!

package hello.hellospring.controller;

import hello.hellospring.service.MemberService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class MemberController {//스프링 실행하면 일종의 컨테이너가 만들어지고 MemberController를 생성해서 그 안에 넣어둔다.
    private final MemberService memberService;

    @Autowired
    public MemberController(MemberService memberService){
        this.memberService = memberService;
    }
    @GetMapping("/members/new")
    public String createForm(){
        return "members/createMemberForm";
    }
}

localhost:8080 접속 후 홈화면에 회원가입 버튼을 누르면 /members/new로 간다. createMemberForm 페이지 렌더링.

GetMapping과 PostMapping으로 같은 url에 대해 다른 동작을 구현한다! GetMapping : HTTP의 GET방식으로 들어온 url에 대해 members/createMemberForm을 렌더링 PostMapping : form을 통해 받은 데이터로부터 name을 받아서 member의 name으로 셋

@GetMapping("/members/new")
    public String createForm(){
        return "members/createMemberForm";
    }
    @PostMapping("/members/new")
    public String create(MemberForm form){
        Member member = new Member();
        member.setName(form.getName());//form에서 name을 받아서 member의 이름으로 셋팅!

        System.out.println("member = "+member.getName());
        memberService.join(member);

        return "redirect:/";//홈화면으로 리다이렉트.
    }

Last updated