Если вы хотите поддерживать необязательные значения, то переменные пути не очень хорошо подходят. Параметры запроса (с использованием @RequestParam
) являются лучшей идеей, поскольку они легко поддерживают необязательные значения с использованием атрибута required
.
Если вы действительно хотите поддерживать необязательные переменные пути, тогда вам нужно перегрузить ваши отображения, т.е.
@RequestMapping(value = "foo/{y}/{x}")
public ModelAndView doSmth(@PathVariable(value = "x") String x, @PathVariable(value = "y") String y)
@RequestMapping(value = "foo/{y}")
public ModelAndView doSmth(@PathVariable(value = "y") String y)
@RequestMapping(value = "foo")
public ModelAndView doSmth()