Spring 弹簧矩阵参数
我已经将spring版本升级到4.1.4,现在想使用矩阵参数 我添加了以下内容以支持配置文件中的矩阵参数:Spring 弹簧矩阵参数,spring,spring-mvc,matrix,parameters,Spring,Spring Mvc,Matrix,Parameters,我已经将spring版本升级到4.1.4,现在想使用矩阵参数 我添加了以下内容以支持配置文件中的矩阵参数: <mvc:annotation-driven conversion-service="applicationConversionService" enable-matrix-variables="true"/> 在代码中,我通过以下方法访问它: public ResponseEntity<String> transactions(@PathVariable("ac
<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){....}
我的网址是:http://localhost:8080/spring_test/accounts/8293/transactions;sinceDate=2014-01-20;截止日期=2014-01-01
但我得到的sinceDate值为null,它是用@MatrixVariable声明的
请建议我是否遗漏了任何步骤
谢谢,
Manasi如果您有自己的AbstractHandlerMapping定义,则应指定其名称
否则,我建议您调试Spring代码,并找出为什么没有为默认的RequestMappingHandlerMapping重置removeSemicolonContent
断点应位于UrlPathHelperremoveSemicolonContent中
要使这一点起作用,您应该将矩阵变量放在URL中适当的pathVariable后面:
当我将@PathVariable'accountNumber'作为url中的最终参数时,我现在得到了sinceDate值。在使用矩阵参数时,我们是否需要将路径变量作为请求url中的最后一个参数?您是否尝试过@MatrixVariablepathVar=transaction、required=true、value=sinceDate?或者它在@RequestMappingYes中是如何调用的?我试过@MatrixVariablepathVar=accountNumber,required=true字符串accountNumber,@MatrixVariablerequired=true,value=sinceDate字符串sinceDate{…}和@RequestMappingvalue=/accounts/{accountNumber}/transactions,method=RequestMethod.GET,],但它不起作用。否,我的意思是:@MatrixVariablepathVar=accountNumber,required=true,value=sinceDate字符串sinceDate。不适用于accountNumber参数。是的,我在上面也尝试过,但如果pathVariable位于url和url中的最后一个之间,则它不会映射请求。它给出了404未找到的错误。
http://localhost:8080/spring_test/accounts/8293;sinceDate=2014-01-20;untilDate=2014-01-01;/transactions