• 요청 식별자로 매핑 (@RequestMapping에서 지원하는 패턴)
    • ?: 한 글자 (“/author/???” → “/author/123”)
    • *: 여러 글자 (“/author/*” → “/author/keesun”)
    • **: 여러 패스 (“/author/**” → “/author/keesun/book”)
  • 클래스에 선언한 @RequestMapping

    • 클래스에 선언한 URI 패턴뒤에 이어 붙여서 맵핑

      @Controller
      @RequestMapping("/hello")
      public class SampleController {
          
          @ResponseBody
          @RequestMapping("/hello")
          public String hello() {
              return "hello";
          }
      }
      
  • 정규 표현식을 활용한 매핑

    • 일치하지 않으면 404

        @Controller
        @RequestMapping("/hello")
        public class SampleController {
            
            @ResponseBody
            @RequestMapping("/{name:[a-z]+}")
            public String hello(@PathVariable String name) {
                return "hello " + name;
            }
        }
            
      
  • 패턴이 중복되는 경우
    • 가장 구체적으로 매핑하는 핸들러를 선택
  • URI 확장자 매핑 지원(권장하지 않는 기능)
    • 스프링 부트에서는 기본으로 이 기능은 비활성화
    • RFD ATTACK에 취약함

댓글남기기