스프링 MVC 1편 (백엔드 웹 개발 핵심 기술)

Ch05. 스프링 MVC(구조 이해) - 스프링 MVC(컨트롤러 통합)

webmaster 2022. 3. 5. 12:09
728x90
@Controller
@RequestMapping("/springmvc/v2/members")
public class SpringMemberControllerV2 {

    private MemberRepository memberRepository = MemberRepository.getInstance();

    //@RequestMapping("/springmvc/v2/members/new-form")
    @RequestMapping("/new-form")
    public ModelAndView newForm(){
        return new ModelAndView("new-form");
    }

    //@RequestMapping("/springmvc/v2/members/save")
    @RequestMapping("/save")
    public ModelAndView save(HttpServletRequest request, HttpServletResponse response) {
        String username = request.getParameter("username");
        int age = Integer.parseInt(request.getParameter("age"));

        Member member =new Member(username, age);
        memberRepository.save(member);

        ModelAndView mv = new ModelAndView("save-result");
        mv.addObject("member", member);
        return mv;
    }

    //@RequestMapping("/springmvc/v2/members")
    @RequestMapping
    public ModelAndView members() {
        List<Member> members = memberRepository.findAll();
        ModelAndView mv = new ModelAndView("members");
        mv.addObject("members", members);
        return mv;
    }
}
  • /springmvc/v2/members라는 부분을 중복을 클래스 단위 RequestMapping을 통해 제거할 수 있다.
    • 클래스 레벨
      • @RequestMapping("/springmvc/v2/members")
    • 메서드 레벨
      • @RequestMapping("/new-form") /springmvc/v2/members/new-form
      • @RequestMapping("/save") /springmvc/v2/members/save
      • @RequestMapping /springmvc/v2/members
728x90