Spring MVC - 요청 매핑, @RequestMapping, @PathVariable

2021. 4. 6. 20:40SPRING/SPRING MVC

@RequestMapping("/hello")

  • /hello URI로 요청이오면 해당 메서드가 호출이 된다.
  • /hello/ 처럼 뒤에 / 가 붙어 있어도, 스프링은 /hello와 같다고 허용하여 메서드를 매핑시켜준다.
  • 클래스 레벨에 선언하여 공통 URI부분을 매핑해서 메서드 레벨에 선언된 URI의 중복된 부분을 제거해준다.
  • method 속성에 HTTP 메서드를 지정해주지 않으면 어떤 메서드가 와도 호출되는 매핑이 된다.
  • 최근에는 method 속성을 사용하지 않고 @GetMapping, @PostMapping, @PutMapping, @PatchMapping, @DeleteMapping 으로 간편하게 사용할 수 있다.

 

@PathVariable

  • 경로변수.
  • 요청 URI 자체가 식별자가 되는 방식.
  • 예) 요청 URI: /users/userA/team/1
  • 예) URI 정의: /users{userId}/team/{teamId}
  • @PathVariable 이름과 파라미터 이름이 같으면 생략 가능.
  • 컨트롤러 파라미터에 사용된 PathVariable은 redirect에도 사용 가능.

 

그 밖에 매핑 방법

특정 헤더 조건 매핑

  • 특정 헤더가 일치해야만 매핑된다.
  • 속성: headers

 

미디어 타입 조건 매핑

  • 특정 미디어 타입이 일치해야 매핑된다.
  • 속성: consume(클라이언트에서 요청하는 미디어 타입), produce(서버에서 응답하는 미디어 타입)