Spring 3.0では、オプションのパス変数を使用できますか?
例えば
@RequestMapping(value = "/json/{type}", method = RequestMethod.GET)
public @ResponseBody TestBean testAjax(
HttpServletRequest req,
@PathVariable String type,
@RequestParam("track") String track) {
return new TestBean();
}
ここで、同じメソッドを呼び出す/json/abc
か/json
、呼び出します。
明らかな回避策の1つtype
は、要求パラメーターとして宣言します。
@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();
}
そして、/json?type=abc&track=aa
または/json?track=rr
動作します