Controller接收引數的常用方式總體可以分為三類。第一類是Get請求通過拼接url進行傳遞,第二類是Post請求通過請求體進行傳遞,第三類是通過請求頭部進行引數傳遞。
1 @PathVariable接收引數
請求方式:localhost:7001/param/123
請求示例:
程式碼示例:
@GetMapping("{id}")
public String getPathVariable(@PathVariable String id){
return "id="+id;
}
2 @RequestParam接收引數
使用這個註解需要注意兩個點,一是加了這個引數後則請求中必須傳遞這個引數,二是@RequestParam這個註解可以指定名字,請求引數必須和指定的這個名字相同,如果不指定,則預設為具體引數名。
請求方式:localhost:7001/param/getParam?myId=18
請求示例:
程式碼示例:
@GetMapping("getParam")
public String getRequestParam(@RequestParam("myId") String id){
return "id="+id;
}
3 無註解傳參
這種方式和2對比,最大的區別就是這個引數不是必傳的,請求路徑上可以不傳遞。
請求方式:localhost:7001/param/getString?id=18
請求示例:
程式碼示例:
@GetMapping("getString")
public String getString(String id){
return "id="+id;
}
4 HttpServletRequest接收引數
請求方式:localhost:7001/param/getRequest?id=18
請求示例:
程式碼示例:
@GetMapping("getRequest")
public String getRequest(HttpServletRequest request){
String id = request.getParameter("id");
return "id="+id;
}
5 @RequestBody接收請求體引數
這種方式一般用來傳遞實體物件,加了這個註解後,引數也是必傳的。
請求方式:{"id":18}
請求示例:
程式碼示例:
@PostMapping("getBody")
public String getBody(@RequestBody String id){
return "id="+id;
}
6 @RequestHeader接收請求頭引數
請求示例:
程式碼示例:
@PostMapping("getHeader")
public String getHeader(@RequestHeader String id){
return "id="+id;
}
此是spring-boot-route系列的第一篇文章,這個系列的文章都比較簡單,主要目的就是為了幫助初次接觸Spring Boot 的同學有一個系統的認識。本文已收錄至我的github,歡迎各位小夥伴star
!
github:https://github.com/binzh303/spring-boot-route
點關注、不迷路
如果覺得文章不錯,歡迎關注、點贊、收藏,你們的支援是我創作的動力,感謝大家。
如果文章寫的有問題,請不要吝嗇,歡迎留言指出,我會及時核查修改。
如果你還想更加深入的瞭解我,可以微信搜尋「Java旅途」進行關注。回覆「1024」即可獲得學習視訊及精美電子書。每天7:30準時推送技術文章,讓你的上班路不在孤獨,而且每月還有送書活動,助你提升硬實力!