@Controller
@RequestMapping("springmvc/v2/members")
public class SpringMemberController {
MemberRepository memberRepository = MemberRepository.getInstance();
@RequestMapping("/save")
public ModelAndView save(HttpServletRequest request ){
ModelAndView mv = new ModelAndView("save-result");
Member member = new Member(request.getParameter("username"), Integer.parseInt(request.getParameter("age")));
Member savedMember = memberRepository.save(member);
mv.getModel().put("member",savedMember);
return mv;
}
@RequestMapping
public ModelAndView findAll(){
List<Member> members = memberRepository.findAll();
ModelAndView mv = new ModelAndView("members");
mv.addObject("members", members);
return mv;
}
@RequestMapping("/new-form")
public ModelAndView newMemberForm(){
System.out.println("SpringMemberFormControllerV1.process");
return new ModelAndView("new-form");
}
}
이제 메소드 명을 다르게 할 수 있기에, 결이 같다면 통합할 수 있다.
게다가, 공통맵핑을 할 수 있다.
클래스 단위에
@RequestMapping("springmvc/v2/members")
해주면,
클래스단위 @RequestMapping + 메소드 단위 @RequestMapping 추가가 된다.
그래서 아예 findAll은 우리가 uri 짤 때 리소스 기준으로 짜고, 그래서 사실 /members만 있어도 되기에 다른 것들보다 상위에 있다. 그래서 저건 아예 추가 안해서 클래스 단위 호출되면 딱 저게 호출된다.
'스프링 > 3. 스프링 MVC' 카테고리의 다른 글
37. 스프링MVC 시작 (0) | 2023.08.11 |
---|---|
36. 실용적인 형식 (0) | 2023.08.11 |
34. 스프링 MVC (0) | 2023.08.09 |
33. 뷰 리졸버 (0) | 2023.08.09 |
32. 핸들러매핑, 핸들러어댑터 (0) | 2023.08.09 |