728x90
반응형
위의 이 오류를 해결하면서, spring.mvc.pathmatch.matching-strategy가 무엇인지에 대해 궁금해서 찾아본 내용을 정리한다.
spring.mvc.pathmatch.matching-strategy의 값으로 ant_path_matcher와 path_pattern_parser를 설정하는 것은 Spring MVC에서 URL 패턴 매칭 전략을 지정하는 것이다. 두 가지의 차이점은 아래와 같다.
1. AntPathMatcher (ant_path_matcher):
- 전략: Ant 스타일의 경로 패턴을 사용하여 URL을 매칭한다. 예를 들어, "/users/**"는 "/users/123"과 같은 패턴과 매칭됩니다.
- 문법: Ant 경로 패턴 문법을 따른다다. 와일드카드(* 및 **)를 사용하여 패턴을 정의한다.
- 예시: /users/*, /users/**, /api/*/resource, 등
2. PathPatternParser (path_pattern_parser):
- 전략: Spring 5부터 도입된 새로운 경로 패턴 매처이다. 경로 패턴 문법은 Ant 스타일과는 조금 다르다.
- 문법: 경로 구분자(/)를 사용하며, 와일드카드는 {*}, {**}와 같은 중괄호로 둘러싸인 형태로 사용됩니다.
- 예시: /users/{id}, /api/{version}/resource, 등
이 중에서 어떤 것을 사용할지의 선택은 개발자의 취향과 프로젝트의 요구사항에 따라 다를 수 있다고 한다.
- ant_path_matcher는 기존의 스타일을 유지하면서 설정이 간단하고 익숙하다.
- path_pattern_parser는 경로에 대한 더 엄격한 구문 분석을 제공하고, 특히 RESTful API에서 더 세밀한 제어를 가능하는 경향이 있다.
이 설정은 저번 글에서도 작성한 것처럼, application.yml 에서 할 수 있다. 이 설정은 Spring MVC가 URL 패턴 매칭을 어떤 전략으로 처리할지 결정한다. 이 값을 변경함으로써, 프로젝트에서 사용중인 URL 패턴의 문법을 조정할 수 잇다.
spring:
mvc:
pathmatch:
matching-strategy: ant_path_matcher #또는 path_pattern_parser
728x90
반응형