Spring의 RequestMapping에는 path에 wildcard를 사용할 수 있다. doc

하지만 path variable을 선언하여 쓸때에는 wildcard를 사용할 수 없는데 아래와 같은 방법으로 하면 wildcard로 선언된 path에 대해서 controller method에서 variable로 얻을 수 있다.

@RequestMapping(value = "/api/{*path}")
public Mono<String> wildcardPathVariable(@PathVariable("path") String path) {
    return Mono.just(path);
}

호출 결과

GaryJ-Macbook-Pro ❯ curl http://localhost:8080/api/test/path/variable
/test/path/variable

pathVariable이기 때문에 query param까지는 잡히지 않는다.(당연한 소리)

현재 사용중인 Spring버전

  • spring-boot: 2.1.2.RELEASE
  • springframework: 5.1.4.RELEASE

BELATED ARTICLES

more