[SPRING] Spring 요청 매핑 와일드 카드 예외
SPRINGSpring 요청 매핑 와일드 카드 예외
"/ some / resource / ** / something"과 같은 요청 매핑 중간에 / ** 와일드 카드를 넣을 수 있습니까?
봄 3에서 나는 이것을 할 수있다.
@RequestMapping("/some/resource/**")
지도로 만들다
/some/resource/A -> ControllerMethod1
/some/resource/A/B -> ControllerMethod1
/some/resource/A/B/C/D/E/F -> ControllerMethod1
경로 파트 수에 상관없이
그러나이 매핑은 너무 욕심이고 하위 URL @RequestMapping ( "/ some / resource / ** / somthing")을 다음과 같은 다른 컨트롤러에 매핑 할 수 없습니다.
/some/resource/A/somthing -> ControllerMethod2
/some/resource/A/B/somthing -> ControllerMethod2
/some/resource/A/B/C/D/E/F/somthing -> ControllerMethod2
내가 어떻게 할 수 있니?
해결법
-
==============================
1.나는 당신이 필요로하는 URL 맵핑에서 앤트 스타일을 사용할 수 없다고 생각한다. 왜냐하면 다음 경로 분리 문자 '/'에서 멈추기 때문이다.
나는 당신이 필요로하는 URL 맵핑에서 앤트 스타일을 사용할 수 없다고 생각한다. 왜냐하면 다음 경로 분리 문자 '/'에서 멈추기 때문이다.
16.3.2.2를 시도해 보시기 바랍니다. 요청의 마지막 부분 만 매핑하기 위해 정규식을 사용하는 URI 템플릿 패턴 (아직이 방법을 시도하지 않았습니다).
또한 PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE를 사용하여 요청의 나머지 부분과 일치시킬 수 있으며 거기에 일부 표현식을 적용 할 수 있습니다. 이 게시물을 확인하십시오.
그렇지 않으면 요청 매개 변수를 사용하여 해당 조건을 일치시켜야합니다. 16.3.2.6. 요청 매개 변수 및 헤더 값.
이 경우 params를 사용하여 매핑 할 것입니다.
@RequestMapping(value = {"/some/resource/**"}, params="somthing")
또는 메소드 서명에 필수 속성이 아닌 주석 요청 매개 변수를 사용하십시오.
public void test(@RequestParam(value = "somthing", required=false) String str) {
from https://stackoverflow.com/questions/19981012/spring-request-mapping-wildcard-exceptions by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] JAXBElement 랩퍼없이 JAXBElement 랩핑 응답을 JSON 마샬링하는 방법은 무엇입니까? (0) | 2019.06.15 |
---|---|
[SPRING] Spring Redis - 기본 항목이 만료 된 후에 삭제되지 않은 색인 (0) | 2019.06.15 |
[SPRING] 목표 org.springframework.boot의 실행 기본값 : spring-boot-maven-plugin : 1.0.2.RELEASE : 리 패키징 실패 : 소스는 기존 파일을 참조해야합니다. (0) | 2019.06.14 |
[SPRING] 현재 브라우저 탭을 닫는 방법? (0) | 2019.06.13 |
[SPRING] 리포지토리에서의 Spring 데이터 JPA 상속 (0) | 2019.06.12 |