@RequestBody @RequestParam @PathVariable三個註解的區別

這三個註解都可以放在傳入的參數上,那麼今天就以這三個註解具體以我個人的思路給大家分析分析。
首先@RequestBody 這個註解的作用主要是接收Json格式的數據,具體用法上一篇文章基本已經詳細講明,這篇主要講@equestParam@PathVariable
兩個註解的作用。

@Requestparam這個註解

1、可以對傳入參數指定參數名

1 @RequestParam String inputStr

2 下面的對傳入參數指定爲aa,如果前端不傳aa參數名,會報錯
3 @RequestParam(value=“aa”) String inputStr

2、可以通過required=false或者true來要求@RequestParam配置的前端參數是否一定要傳

1 required=false表示不傳的話,會給參數賦值爲nullrequired=true就是必須要有
2 @RequestMapping(“testRequestParam”)
public String filesUpload(@RequestParam(value=“aa”, required=true) String inputStr,HttpServletRequest request)

3、如果@requestParam註解的參數是int類型,並且required=false,此時如果不傳參數的話,會報錯。原因是,required=false時,不傳參數的話,會給參數賦值null,這樣就會把null賦值給了int,因此會報錯。

1 required=false表示不傳的話,會給參數賦值爲null,required=true就是必須要有
2 @RequestMapping(“testRequestParam”)
public String filesUpload(@RequestParam(value=“aa”, required=false) int inputStr,HttpServletRequest request)
若是前端頁面不傳參的話,此處就會報錯。當然可以用Integer代替int

其次 @RequestParam還表示將參數拼接在路徑後面,並且中間有?分割
下面截圖展示
在這裏插入圖片描述
下面講一下@PathVariable這個註解,該註解表示請求參數以佔位符的形式拼接在路徑後面,中間由/分割。
話不多說,直接上圖
在這裏插入圖片描述
在這裏插入圖片描述

這輩子堅持與不堅持都不可怕,怕的是獨自走在堅持的道路上!!!

歡迎加入技術羣聊
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章