[Spring] @RequestMapping 정규식, 정규표현식

[Spring] @RequestMapping 정규식, 정규표현식

@RequestMapping 정규식은 중괄호를 이용하면 된다.

중괄호 안쪽 정규식에 해당하는 부분이 변수명에 매핑된다.

1. @RequestMapping 정규표현식 문법


@RequestMapping(value = “{변수명:정규식}”)

public void handle(@PathVariable String 변수명) {

    // (중략)

}

2. @RequestMapping 정규표현식 예시

실제 적용은 아래처럼 하면 된다.

// 소문자 주소 매핑 ex) http://localhost:8080/abced

@RequestMapping(value = “/{path:[a-z]*}”)

public void handleLowerCase(@PathVariable String path) {

    // (중략)

}

// 대문자 주소 매핑 ex) http://localhost:8080/ABCDE

@RequestMapping(value = “/{path:[A-Z]*}”)

public void handleUpperCase(@PathVariable String path) {

    // (중략)

}

// 숫자 주소 매핑 ex) http://localhost:8080/12345

@RequestMapping(value = “/{path:[0-9]*}”)

public void handleNumber(@PathVariable String path) {

    // (중략)

}

다음 예시처럼 중괄호를 여러 개 사용하면 복잡한 정규식도 적용할 수 있다.

@RequestMapping(“/spring-web/{symbolicName:[a-z-]+}-{version:\\d\\.\\d\\.\\d}{extension:\\.[a-z]+}”)

public void handle(@PathVariable String version, @PathVariable String extension) {

    // (중략)

}

참고사이트 : https://docs.spring.io/spring-framework/docs/3.2.16.RELEASE/spring-framework-reference/html/mvc.html