With Spring 3.0, can I have an optional path variable?
For example
@RequestMapping(value = "/json/{type}", method = RequestMethod.GET)
public @ResponseBody TestBean testAjax(
HttpServletRequest req,
@PathVariable String type,
@RequestParam("track") String track) {
return new TestBean();
}
Here I would like /json/abc
or /json
to call the same method.
One obvious workaround declare type
as a request parameter:
@RequestMapping(value = "/json", method = RequestMethod.GET)
public @ResponseBody TestBean testAjax(
HttpServletRequest req,
@RequestParam(value = "type", required = false) String type,
@RequestParam("track") String track) {
return new TestBean();
}
and then /json?type=abc&track=aa
or /json?track=rr
will work