spring-boot如何去獲取前端傳遞的引數
阿新 • • 發佈:2020-05-13
本文主要討論spring-boot如何獲取前端傳過來的引數,這些引數主要有兩大類,一類是URL裡的引數,一個是請求body裡的引數
### url裡的引數
通過url裡傳過來的引數一般有三種方式,下面我們來看一下
* 路徑引數
路徑引數就是說在請求路徑裡攜帶了幾個引數,比如有一個查詢banner詳情的介面,/v2/banner/123,這裡的123就是引數,可以表示banner的ID。
下面我們設計了一個簡陋的介面,來演示路徑引數的獲取
```java
@RestController
@RequestMapping(value = "/v2/banner")
public class BannerController {
@GetMapping("/{id}")
public Integer getBannerDetail(@PathVariable Integer id){
return id;
}
}
```
獲取banner詳情完整介面路徑是/v2/banner/{id},這裡的id就是路徑引數,在方法的傳參裡,用@PathVariable註解標明那個引數用來接收請求路徑傳遞過來的值,通過postman發個請求看看
![image-20200512231356185](https://img2020.cnblogs.com/other/1960827/202005/1960827-20200513001019460-1409193887.png)
這裡要注意,介面路由裡定義的引數名要和方法引數裡的定義名字要一樣,如果不一樣需要通過@PathVariable來指定**
```java
@GetMapping("/{id}")
public Integer getBannerDetail(@PathVariable(name = "id") Integer id12){
return id12;
}
```
* 查詢引數
查詢引數就是請求的url裡?號後面跟的鍵值對,比如/v2/banner?id=123,下面我們重新定義一個藉口,採用查詢引數的形式獲取banner詳情
![image-20200512231905390](https://img2020.cnblogs.com/other/1960827/202005/1960827-20200513001019727-573574337.png)
請求url裡的查詢引數通過@RequestParam註解可以和方法裡的引數進行一一對應,比如現在有這麼個`url:/v2/banner?id=123&pos=3`,那麼介面的引數定義就得是`@RequestParam Integer id, @RequestParam Integer pos`,請求上面定義的介面看看返回值
![image-20200512232224434](https://img2020.cnblogs.com/other/1960827/202005/1960827-20200513001020004-1322682369.png)
* 路徑引數和查詢引數結合
路徑引數和查詢時可以同時使用的,那在定義介面的時候,同時使用這兩種註解就行,比如下面的介面
```java
@GetMapping("/{id}")
pu