如果我多次敲击控制器并锤击它,偶尔我的modelCode参数将为null。但是URL中包含modelCode。 使用Spring Framework 3.0.5.RELEASE
@RequestMapping(value="ws/getallvariants/{channelCode}/{modelCode}/{regionId}/{year}")
public ModelAndView getAllVariants(@PathVariable("channelCode") String channelCode,
@PathVariable("modelCode") String modelCode,@PathVariable("regionId") String regionId,@PathVariable("year") String year){
if (modelCode == null)
{
int i = 0; // this should never hit, but does.
}
答案 0 :(得分:3)
是的,RegEx对我来说也是最可靠的。这是为了获取电子邮件地址作为参数:
@RequestMapping(value = "rest/userreadserv/search/{email:.+}", method = RequestMethod.GET)
public ResponseEntity getUserAccountByEmail(@PathVariable String email) {...}
答案 1 :(得分:1)
看看Spring MVC @PathVariable getting truncated。正则表达式方法对我有用:
@RequestMapping({ "/servers/{serverName:.+}" })
答案 2 :(得分:0)
再次将spring框架更新到最新版本似乎已经奏效。显然,当我们更新我们的框架时,某些东西无法正常工作。
编辑:
所以这根本不是我们的问题......我们错误地实现了一个String Trimmer Editor并保持状态。因此,当我们将调用置于负载下时,它将交叉结果。
答案 3 :(得分:0)
//in your xml dispatcher add this property to your default annotation mapper bean as follow
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping">
<property name="alwaysUseFullPath" value="true"></property>
</bean>