Czy w Spring 3.0 mogę mieć opcjonalną zmienną ścieżki?
Na przykład
@RequestMapping(value = "/json/{type}", method = RequestMethod.GET)
public @ResponseBody TestBean testAjax(
HttpServletRequest req,
@PathVariable String type,
@RequestParam("track") String track) {
return new TestBean();
}
Tutaj chciałbym /json/abc
lub /json
wywołać tę samą metodę.
Jedno oczywiste obejście deklaruje się type
jako parametr żądania:
@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();
}
a potem /json?type=abc&track=aa
lub /json?track=rr
będzie działać