Spring中一些註釋的理解
阿新 • • 發佈:2018-12-12
@RequestMapping(引數)
引數path ,value 都是路徑,可以存在多個路徑,當在瀏覽器中輸入相應路徑都會對應到該Mapping下的函式中,進行處理
如輸入localhost:8080/profile,localhost:8080/name,localhost:8080/p
@RequestMapping(path = {"/home", "/test1"})//路徑 路徑別名(其實就是兩個路徑對應同一個東西) @ResponseBody//返回字串而不是模板 public String home1() { return "testhome1"; }
引數param,可以指定輸入引數為固定的值時由該函式處理
@RequestMapping(path = {"/fetch"}, params = { "personId=10" },method = RequestMethod.GET)// @ResponseBody public String getParams(@RequestParam("personId") int id) { return "Fetched parameter using params attribute = " +id; } @RequestMapping(value = "/fetch", params = { "personId=20" },method = RequestMethod.GET) @ResponseBody public String getParamsDifferent(@RequestParam("personId") String id) { return "Fetched parameter using params attribute = " + id; }
@ResponseBody
如果有的話就會返回字串(return 字串),如果沒有的話就會返回字串對應的模板(html)
@PathVariable
傳遞的是路徑裡面的引數如下面的userId,相當於給param = userId(自己寫的)
@RequestMapping(path = {"/profile/{userId}"})//{}代表路徑裡面的引數 value={} 和path一個效果 @ResponseBody//返回字串而不是模板 public String home2(@PathVariable("userId") String param) {//@ 取了路徑中的引數,用別名代替 return "testhome1" + "使用者:" + param + "的"; }
@RequestParam
路徑中提交的引數,如@RequestMapping(path = {"/like"})
此時在瀏覽器中輸入localhost:8080/like?user=aa&id=10&countryId=20
@RequestMapping(value = "/like",params = { "countryId=20" },method = RequestMethod.GET) @ResponseBody public String like(@RequestParam("user") String User,@RequestParam("id") String Id,@RequestParam("countryId") String country) { return "使用者名稱:"+User+"<br/>"+"id號:"+Id+"<br/>"+"國家:"+country; }
注意:
@RequestParam中的引數是@RequestMapping中的path在瀏覽器中輸入後 通過?連線,多個引數使用&連線中的值,@RequestMapping中不包含或者通過param引數指定特定輸入值
@PathVariable是@RequestMapping中的path中的內容,在@RequestMapping中以/連線{}包裝,也就是 @RequestMapping中包含
小白剛剛開始摸索,如有錯誤請不吝指出,非常感謝