SpringBoot如何接收前端傳遞參數(shù)
1)URL參數(shù)
- 參數(shù)直接 拼接在URL的后面,使用 ? 進行分隔,多個參數(shù)之間用 & 符號分隔。
- 例如:http://localhost:8080/user?name=zhangsan&id=1
- 后端接收(在Controller方法的參數(shù)列表中使用 @RequestParam 注解):
@GetMapping("/user") public User getUser(@RequestParam(name="name") String name,@RequestParam(name="id") Long id){ // 處理 ... }
2)請求頭(HTTP Headers)
- 請求頭可以攜帶一些屬性,如:message -> "123",可以放在請求頭中
- 例如:使用請求頭中Authorization屬性進行身份校驗
- 后端接收(在Controller方法的參數(shù)列表中使用
@RequestHeader
注解):
@GetMapping("/verify") public Boolean verify(@RequestHeader(name="Authorization") String token){ // 處理 ... }
3)請求體(Body)
- POST、PUT等請求可以在請求體中發(fā)送參數(shù),請求體通常以 JSON 或表單形式傳遞
- 例如,通過 POST 請求發(fā)送 JSON 數(shù)據:{"id": 1,"name": "小明", age: 18}
- 后端接收(在Controller方法的參數(shù)列表中使用
@RequestBody
注解):
public class User{ private Long id; private String name; private Integer age; //get、set方法等... } //接收參數(shù)部分提取 @PostMapping("/addUser") public void addUser(@RequestBody User user){ // 處理 ... }
4)表單(Form)
- 一般通過 POST 請求發(fā)送,表單中的每一項都會拼接到URL后面
- 例如:
name | 張三 |
age | 18 |
這個表單拼接在 http://localhost:8080/addUser 后面:
http://localhost:8080/addUse?name=張三&age=18,所以要用@RequestParam注解
@PostMapping("/addUser") public void addUser(@RequestParam(name="name") String name,@RequestParam(name="age") Integer age){ // 處理 ... }
5)路徑參數(shù)(Path Param)
- 直接寫在路徑里,如:http://localhost:8080/getUser/1 中的1就是路徑參數(shù)
- 通過 @PathVariable 注解提取
@GetMapping("/getUser/{userId}") public User getUser(@PathVariable(name="userId") Long id){ // 處理 ... }
6)Cookie
- cookie是瀏覽器存儲在用戶電腦上的一些數(shù)據,一般存在有效期,
- 可以通過 @CookieValue 注解獲取指定的cookie數(shù)據
@GetMapping("/login") public Boolean login(@CookieValue(name="username") String username, @CookieValue(name="password") String password){ // 處理 ... }
7)在路徑參數(shù)中封裝的多條數(shù)據
- 如 http://localhost:8080/boss;name=老板;age=44/emp;name=員工;age=18
其中boss是路徑,"name=老板"與"age=44"屬于boss路徑下的參數(shù),
同理emp是路徑,"name=員工"與"age=18"屬于emp路徑下的參數(shù)
- 利用 @MatrixVariable 注解進行獲取路徑內的數(shù)據
- 如果要獲取路徑參數(shù)可以用 @PathVariable 注解
/* @MatrixVariable中的屬性: name: 指定獲取路徑內數(shù)據的名稱 pathVar: 指定路徑名稱 */ @GetMapping("/{Boss}/{Emp}") // Boss是路徑中的boss Emp是路徑中的emp public void testMatrixVariable( //獲取路徑內封裝的數(shù)據 @MatrixVariable(name="name",pathVar="Boss") String name, @MatrixVariable(name="age",pathVar="Boss") Integer age, @MatrixVariable(name="name",pathVar="Emp") String name, @MatrixVariable(name="age",pathVar="Emp") Integer age,4 //獲取路徑參數(shù) @PathVariable(name="Boss") String boss, @PathVariable(name="Emp") String emp ){ // 處理 ... }
到此這篇關于SpringBoot接收前端傳遞參數(shù)的文章就介紹到這了,更多相關SpringBoot接收前端參數(shù)內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
SpringBoot集成Caffeine緩存的實現(xiàn)步驟
Caffeine cache是一個針對Java的高性能緩存庫。在本文中,我們將介紹它與Spring Boot如何一起使用。2021-05-05springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法
這篇文章主要介紹了springboot如何獲取相對路徑文件夾下靜態(tài)資源的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2019-05-05一文搞懂并學會使用SpringBoot的Actuator運行狀態(tài)監(jiān)控組件的詳細教程
這篇文章主要介紹了一文搞懂并學會使用SpringBoot的Actuator運行狀態(tài)監(jiān)控組件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09Java Hutool工具實現(xiàn)驗證碼生成及Excel文件的導入和導出
Hutool是一個小而全的Java工具類庫,通過靜態(tài)方法封裝,降低相關API的學習成本,提高工作效率,本文主要介紹了使用Hutool工具實現(xiàn)驗證碼生成和excel文件的導入、導出,需要的朋友可參考一下2021-11-11