[SPRING] "/"가 포함 된 @pathVariable을 갖는 Spring @RequestMapping을 일치시키는 방법은 무엇입니까?
SPRING"/"가 포함 된 @pathVariable을 갖는 Spring @RequestMapping을 일치시키는 방법은 무엇입니까?
고객으로부터 다음 요청을 받고 있습니다.
/ search / hello % 2Fthere /
여기서 "hello / there"라는 검색어가 URL 인코딩되었습니다.
서버에서 다음 요청 매핑을 사용하여이 URL과 일치 시키려고합니다.
@RequestMapping("/search/{searchTerm}/")
public Map searchWithSearchTerm(@PathVariable String searchTerm) {
// more code here
}
하지만 URL에 일치하는 항목이 없기 때문에 서버에서 404 오류가 발생합니다. 나는 Spring이 그것을 얻기 전에 URL이 해독되었음을 알아 차렸다. 그러므로 일치하는 / search / hello / there와 일치 시키려고합니다.
나는이 문제와 관련된 Jira를 여기에서 발견했다 : http://jira.springframework.org/browse/SPR-6780. 그러나 나는 아직도 나의 문제를 해결하는 방법을 모른다.
어떤 아이디어?
감사
해결법
-
==============================
1.HttpServletResponse를 사용하지 않고 그것을 수행하는 좋은 방법은 없습니다. 다음과 같이 할 수 있습니다.
HttpServletResponse를 사용하지 않고 그것을 수행하는 좋은 방법은 없습니다. 다음과 같이 할 수 있습니다.
@RequestMapping("/search/**") public Map searchWithSearchTerm(HttpServletRequest request) { // Don't repeat a pattern String pattern = (String) request.getAttribute(HandlerMapping.BEST_MATCHING_PATTERN_ATTRIBUTE); String searchTerm = new AntPathMatcher().extractPathWithinPattern(pattern, request.getServletPath()); ... }
from https://stackoverflow.com/questions/2334787/how-to-match-a-spring-requestmapping-having-a-pathvariable-containing by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] junit 테스트를 개선하려면 어떻게해야합니까? (0) | 2019.01.01 |
---|---|
[SPRING] 바인딩 전 JSR-303 유형 검사 (0) | 2019.01.01 |
[SPRING] 동일한 REST API에 대한 기본 인증과 양식 로그인 결합 (0) | 2019.01.01 |
[SPRING] 스프링 부트 OAuth2 싱글 사인 오프 (로그 아웃) (0) | 2019.01.01 |
[SPRING] 스프링 부트 CORS 필터 - CORS 프리 플라이트 채널이 성공하지 못함 (0) | 2019.01.01 |