[SPRING] URI 구문 분석을위한 Spring 유틸리티
SPRINGURI 구문 분석을위한 Spring 유틸리티
기존 스프링 기능을 사용하여 URL에서 경로 변수 및 쿼리 매개 변수를 추출하고 싶습니다. MVC @RequestMapping 또는 UriComponentsBuilder에 유효한 경로 형식 문자열이 있습니다. 나는 또한 실제 경로가있다. 그 경로에서 경로 변수를 추출하고 싶습니다.
예를 들어.
String format = "location/{state}/{city}";
String actualUrl = "location/washington/seattle";
TheThingImLookingFor parser = new TheThingImLookingFor(format);
Map<String, String> variables = parser.extractPathVariables(actualUrl);
assertThat(variables.get("state", is("washington"));
assertThat(variables.get("city", is("seattle"));
UriComponentsBuilder의 역함과 같습니다. Javadocs를 읽었을 때 파싱 기능이 없습니다.
해결법
-
==============================
1.여기 간다:
여기 간다:
String format = "location/{state}/{city}"; String actualUrl = "location/washington/seattle"; AntPathMatcher pathMatcher = new AntPathMatcher(); Map<String, String> variables = pathMatcher.extractUriTemplateVariables(format, actualUrl); assertThat(variables.get("state"), is("washington")); assertThat(variables.get("city"), is("seattle"));
-
==============================
2.가장 먼저 볼 것은 org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver의 소스 코드입니다. 이것은 MVC의 @PathVariable 주석에 사용되는 리졸버입니다. Spring 코드가 무엇을하는지 보려면 resolveName 메소드를보십시오. 그곳에서 MVC가 사용하는 클래스를 찾을 수 있어야합니다. 그런 다음 요구 사항을 충족시킬 수 있는지 확인할 수 있습니다.
가장 먼저 볼 것은 org.springframework.web.servlet.mvc.method.annotation.PathVariableMethodArgumentResolver의 소스 코드입니다. 이것은 MVC의 @PathVariable 주석에 사용되는 리졸버입니다. Spring 코드가 무엇을하는지 보려면 resolveName 메소드를보십시오. 그곳에서 MVC가 사용하는 클래스를 찾을 수 있어야합니다. 그런 다음 요구 사항을 충족시킬 수 있는지 확인할 수 있습니다.
from https://stackoverflow.com/questions/26347868/spring-utility-for-parsing-uris by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] 최대 절전 모드 두 테이블을 조인하고 모든 레코드를 가져 옵니까? (0) | 2019.03.30 |
---|---|
[SPRING] Spring의 명령 객체 (0) | 2019.03.30 |
[SPRING] 봄 애플리케이션에서 사용자 권한 부여 후 사용자 정의 필터를 추가하는 방법 (0) | 2019.03.30 |
[SPRING] 동적 속성이있는 @TestPropertySource (0) | 2019.03.30 |
[SPRING] 봄 콩을 스포크 테스트에 주입하는 법 (0) | 2019.03.30 |