2012-07-05 3 views
14

이 답변을 찾을 수 없어서 불행히도 누군가가 도움을 얻을 수 있기를 바랍니다. 스프링 MVC 3.1.0에서봄 MVC에서 다중 @PathVariable

여기 내 방법이다 : 나는 온라인으로 몇 가지 예를 본 적이

@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable String app, @PathVariable String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

과 이론의 여러 @PathVariables 데 아무 문제가 없다가 나타납니다.

그러나 "app"와 "fnm"에는 동일한 값 ("app"에 할당 된 값)이 포함되어 있습니다.

내가 잘못 될 수있는 부분에 대해 누군가 통찰력을 주셔서 감사합니다.

감사합니다.

+0

제대로 작동하는지 확인하십시오. – NimChimpsky

답변

24
@RequestMapping(value = "/{app}/conf/{fnm}", method=RequestMethod.GET) 
public ResponseEntity<?> getConf(@PathVariable("app") String app, @PathVariable("fnm") String fnm) { 
    log.debug("AppName:" + app); 
    log.debug("fName:" + fnm); 
      ... 
      return ... 
    } 

기본적으로 경로 변수는 메소드 인수에서 괄호로 지정해야합니다. 도움이 되나요?

+0

죄송합니다. 명시해야합니다. 변수 이름없이 변수 이름을 테스트하고 명시 적으로 시도했습니다 (value = "_ some_pathvarname"). 모두가 동일한 결과를 산출합니다 : ( – user1389920

+0

@ user1389920 : 요청 URL을 다른 값으로 하드 코딩하려고 했습니까 : 예 :/XYZ/conf/ABC 그리고 컨트롤러에 매핑되는 항목을 확인하십시오. 요청이 올바르게되었는지 확인하는 것입니다. 형성된 ... –

+0

감사합니다, 문제가 발견되었습니다. fnm이 잘려서 테스트 값이 동일하게 보입니다. 두뇌가 희미 해졌습니다. 지금 올바른 정규 표현식을 사용하고 있습니다. 도움을 주셔서 감사합니다. – user1389920

관련 문제