[SPRING] 11-1. MVC1 : 요청매핑, 리다이렉트

Yuri Lee·2022년 6월 30일
0

스프링

목록 보기
8/13

1. 요청 매핑 애노테이션

  • @RequestMapping : HTTP 요청 파라미터를 메서드의 파라미터로 전달받을 수 있게 해준다. 주로 공통되는 부분의 경로를 담음, 실무에서 주로 쓰는 mapping
  • @PostMapping : view에서 method="post" 방식인 경우, 입력한 값이 패킷 안에 숨겨져서 전송이 됨
  • @GetMapping : 주소창에 url 직접입력방식(입력값이 노출), Get 방식만 처리하도록 제한

*HTTP에서 GET, POST, PATCH 등을 메서드라고 부른다.

2. @RequestParam : 요청 파라미터 접근

HttpServletRequest request 대신 @RequestParam 애노테이션 사용하여 요청 파라미터에 접근

@PostMapping("/register/step2") // HandlerMapping이 요청 url과 매칭되는 컨트롤러 검색해서 DispatcherServlet에 빈객체 전달?
	public String handleStep2(
		@RequestParam(value="agree", defaultValue = "false")Boolean agreeVal, Model model) { 
        //컨트롤러는 실행결과를 ModelAndView로 변환해서 리턴함
			if(!agreeVal) {
				return "register/step1"; 
                //실행결과를 보여줄 뷰 이름에 해당하는 뷰 구현을 찾아주는 것을 ViewResolver가 처리
			}
			model.addAttribute("registerRequest", new RegisterRequest());
			return "register/step2";
	}

"agree" 요청 파라미터값을 읽어와 agreeVal 파라미터에 할당, 값이 없으면 "false" 문자열을 값으로 사용. 파라미터 값을 가져오면 agreeVal 데이터타입에 맞게 변환 지원

@ReauestParam 애노테이션 속성

  • value : String /HTTP 요청 파라미터 이름 지정
  • required : bolean /필수 여부 지정, 기본 값이 true
  • defaultValue : String /요청 파라미터가 값이 없을때 사용할 문자열 지정

3. 리다이렉트 처리

@GetMapping("/register/step2")
	public String handleStep2Get() {
		return "redirect:/register/step1";
	}

"redirect" 뒤의 문자열이 "/"로 시작하면 웹어플리케이션을 기준으로 이동 경로를 생성한다.

profile
개발자 이유리

0개의 댓글