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:/";//홈화면으로 리다이렉트.
}