Spring MVC:如何指示是否需要路径变量?


问题内容

我正在做一个Spring网站。对于控制器方法,我可以使用RequestParam指示是否需要该参数。例如:

@RequestMapping({"customer"}) 
public String surveys(HttpServletRequest request, 
@RequestParam(value="id", required = false) Long id,            
Map<String, Object> map)

我想使用如下的PathVariable:

@RequestMapping({"customer/{id}"}) 
public String surveys(HttpServletRequest request, 
@PathVariable("id") Long id,            
Map<String, Object> map)

如何指示是否需要路径变量?我需要将其设置为可选,因为在创建新对象时,在保存之前没有可用的关联ID。

感谢帮助!


问题答案:

没有使其成为可选方法的方法,但是您可以创建两个方法,其中一个具有@RequestMapping({"customer"})注释,另一个具有注释@RequestMapping({"customer/{id}"}),然后在每个方法中采取相应的措施。