2015-01-22 8 views
0

스프링 버전을 4.1.4로 업그레이드했으며 이제는 매트릭스 매개 변수를 사용하려고합니다.스프링 매트릭스 매개 변수

내가 구성 파일의 매트릭스 매개 변수에 대한 지원을 활성화하려면 아래 추가 :

<mvc:annotation-driven conversion-service="applicationConversionService" enable-matrix-variables="true"/> 

및 코드에서 내 방법으로 아래에 접근하고있다 :

public ResponseEntity<String> transactions(@PathVariable("accountNumber") String accountNumber, 
     @MatrixVariable(required = true,value="sinceDate") String sinceDate){....} 

내 URL은 다음과 같습니다 http://localhost:8080/spring_test/accounts/8293/transactions;sinceDate=2014-01-20;untilDate=2014-01-01;

그러나 @MatrixVariable으로 선언 된 sinceDate 값은 null로 표시됩니다.

단계가 누락되면 제안 해주세요. 당신이 당신의 자신의 AbstractHandlerMapping 정의 당신이 <beans:property name="removeSemicolonContent" value="false"/>를 지정해야이있는 경우

감사합니다, Manasi

답변

0

.

그렇지 않으면 스프링 코드를 디버그하고 removeSemicolonContent이 기본값 RequestMappingHandlerMapping으로 재설정되지 않은 이유를 알아내는 것이 좋습니다.

브레이크 포인트는이 방금 생성하라 pathVariable 후 URL의 행렬 변수를 배치해야 일을하게하려면 UrlPathHelper#removeSemicolonContent

에 있어야합니다 :

http://localhost:8080/spring_test/accounts/8293;sinceDate=2014-01-20;untilDate=‌​2014-01-01;/transactions 
+0

을 내가 찍을 때 내가 지금 sinceDate 값을 얻고 @ URL의 최종 인수로 PathVariable 'accountNumber'. 행렬 매개 변수를 사용하는 동안 요청 URL에서 마지막 인수로 경로 변수가 있어야합니까? – Mana

+0

'@MatrixVariable (pathVar = "transaction", required = true, value = "sinceDate")'시도한 적이 있습니까? 또는 어떻게 당신의'@ RequestMapping'에서 호출되는 것입니까? –

+0

예 @MatrixVariable (pathVar = "accountNumber", required = true)로 시도했습니다. String accountNumber, @MatrixVariable (required = true, value = "sinceDate") String sinceDate) {....}와 @RequestMapping (value = "/ accounts/{accountNumber}/transactions", method = RequestMethod.GET),] 그러나 그것은 작동하지 않았습니다. – Mana

관련 문제