日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

获取后端接口请求中的参数(@PathVariable,@RequestParam,@RequestBody区别,使用postman请求

發布時間:2023/12/10 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 获取后端接口请求中的参数(@PathVariable,@RequestParam,@RequestBody区别,使用postman请求 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

獲取參數

SpringBoot提供的獲取參數注解包括:@PathVariable,@RequestParam,@RequestBody,三者的區別如下表:

?

一:后端接口什么都不加

?

postman請求后端接口

?

?

二:后端接口加@RequestParam

POST請求
@RequestParam:
① 用來處理(前端)Content-Type: 為 application/x-www-form-urlencoded或者form-data編碼的內容
② 該注解有兩個屬性: value、required; value用來指定要傳入值的id名稱,required用來指示參數是否必須綁定;
注意這里Headers里不能以application/json作為Content-type,否則后臺也接收不到請求

@RequestParam?來自于requestHeader中,即請求頭,但是卻不是JSON,這個一般就是在ajax里面沒有聲明(別人調用)contentType的時候,為默認的

使用如下代碼可以正常進入斷點

postman中使用form-data方式

postman中使用application/x-www-form-urlencoded方式

?

?

get請求:

@RequestParam:

?

三:后端接口加@RequestBody

@RequestBody

1:
① 該注解常用來處理Content-Type: 不是application/x-www-form-urlencoded編碼的內容,例如application/json, application/xml等;
前端規定的是raw方式,那么就需要使用@RequestBody接收參數,注意這里Headers里需要以application/json作為Content-type

@Requestbody?來自于requestBody中,即請求體中。當前端或者別人傳入JSON數據給你時,使用此注解,就已將傳入給你的字段或者屬性將與你所創建的實體類綁定到一起,不相信的可以Debug測試看看傳入參數是否在這個實體里面。

可以正常進入斷點

postman中使用raw? ?json方式

?

?

2:也可以使用map接收

后臺數據接收 RequestBody 使用圖

當前端或者別人傳給你參數與你自己所對應的實體不相符合的時,或者別人傳的參數過多又與你當前實體類的屬性不符合時,那么你就需要Map去接收,因為JSON數據不是K,V嗎?所以我們用Map去裝它,情況如下

postman請求

?

?

?

三:后端接口加?@PathVariable

@PathVariable?模板變量,般用于get請求,?即 XXX/{XXXid}, 這時的XXXid可通過 @Pathvariable注解綁定它傳過來的值到方法的參數上,情況如下。

postman請求,直接在url上輸入傳入的值

總結

以上是生活随笔為你收集整理的获取后端接口请求中的参数(@PathVariable,@RequestParam,@RequestBody区别,使用postman请求的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。