我對@RequestMapping URI模板有疑問。我建立了一個控制器來處理用戶細節更新。我在下面寫兩種方法。spring @RequestMapping URI模板錯誤
@RequestMapping(value="/updateUser/{applicationModuleType}/{userCountryCode}/{applicationModuleId}")
public @ResponseBody Object handleUpdateUserDetailsRequest(@PathVariable String applicationModuleType,
@PathVariable String userCountryCode,
@PathVariable String applicationModuleId,
Model model) {
System.out.println("************ form:Submited");
}
return null;
}
@RequestMapping(value="/updateUser/**")
public @ResponseBody Object handleRequest(Model model) {
System.out.println("************ form:Submited all");
return null;
}
和請求URI是像/ PROJECT_NAME/UpdateUser兩個/應用/ AU/132
當我跑這個程序在Tomcat中,第一方法不會被調用。控制器總是使用第二個。但在Spring框架文檔中,它表示「一種方法可以具有任何數量的@PathVariable註釋」。
所以,我不明白爲什麼我不能在方法中有三個@PathVariable註釋。
另一件事是,如果我改變像下面這樣的第一個方法@RequestMapping註解,它可以被調用。
@RequestMapping(value="/updateUser/app/{userCountryCode}/{applicationModuleId}")
public @ResponseBody Object handleUpdateUserDetailsRequest(@PathVariable String userCountryCode,
@PathVariable String applicationModuleId,
Model model) {
System.out.println("************ form:Submited");
}
return null;
}
看來春天不能在ONE方法中處理三個@PathVariable註解。
有沒有人能告訴我爲什麼或在哪裏做錯了?
在此先感謝!