[SPRING] @RequestMapping 정규 표현식
SPRING@RequestMapping 정규 표현식
나는이 같은 URL을 매핑 봄 @RequestMapping 주석에 대한 가치 속성을 만들려고 노력하고있어.
/educationDistrict/308/action/resetAddressesForYear/1
이
/educationDistrict/308/action/resetAddressesForYear
나는 이것을 가지고있다.
@RequestMapping(value = "/{repository}/{id}/action/{methodName:[A-z]*}{v:.*}", method = RequestMethod.POST)
하지만 첫 번째 URL은 일치하지 않습니다.
나는 스프링 - 증오 때문에 다중 가치를 사용할 수 없다. https://github.com/spring-projects/spring-hateoas/issues/186
봄 4.1.5
해결법
-
==============================
1.@RequestMapping의 URL 매핑 끝에 / **를 추가하십시오. 그리고 다음과 같이 URL의 마지막 부분을 검색 할 수 있습니다.
@RequestMapping의 URL 매핑 끝에 / **를 추가하십시오. 그리고 다음과 같이 URL의 마지막 부분을 검색 할 수 있습니다.
@RequestMapping(value = "/{repository}/{id}/action/{methodName:[A-z]*}{v:.*}/**", method = RequestMethod.GET) public ModelAndView welcome(@PathVariable("methodName") String name, HttpServletRequest request) { String mvcPath = (String) request.getAttribute( HandlerMapping.PATH_WITHIN_HANDLER_MAPPING_ATTRIBUTE); int index = StringUtils.lastIndexOf(mvcPath, "/"); System.out.println("Method name - " + name); System.out.println("Rest of the URL - " + mvcPath.substring(index+1)); ModelAndView model = new ModelAndView(); model.setViewName("index"); model.addObject("name", mvcPath); return model; }
참고 : StringUtils Apache Commons를 사용하여 /의 마지막 색인을 찾습니다.
from https://stackoverflow.com/questions/29160917/requestmapping-regular-expression by cc-by-sa and MIT license
'SPRING' 카테고리의 다른 글
[SPRING] Play-Framework 2.4 : Juice 대신 Play Framework를 사용하여 스프링 종속성 삽입 사용 (0) | 2019.05.13 |
---|---|
[SPRING] `Long을 Spring 5에서 Example <S>`로 변환 할 수 없다. JPA findOne () (0) | 2019.05.13 |
[SPRING] Spring 애플리케이션이 데이터를 지속하지 않는 것으로 보입니다. (0) | 2019.05.13 |
[SPRING] Websocket - InvalidStateError : 연결이 아직 설정되지 않았습니다. (0) | 2019.05.13 |
[SPRING] ModelAndView에서 리디렉션을 사용하는 방법 (0) | 2019.05.13 |