本篇文章給大家分享的是有關(guān)如何使用@RequestParam 與@RequestBody,小編覺得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
堅(jiān)守“ 做人真誠(chéng) · 做事靠譜 · 口碑至上 · 高效敬業(yè) ”的價(jià)值觀,專業(yè)網(wǎng)站建設(shè)服務(wù)10余年為成都橡塑保溫小微創(chuàng)業(yè)公司專業(yè)提供成都企業(yè)網(wǎng)站建設(shè)營(yíng)銷網(wǎng)站建設(shè)商城網(wǎng)站建設(shè)手機(jī)網(wǎng)站建設(shè)小程序網(wǎng)站建設(shè)網(wǎng)站改版,從內(nèi)容策劃、視覺設(shè)計(jì)、底層架構(gòu)、網(wǎng)頁(yè)布局、功能開發(fā)迭代于一體的高端網(wǎng)站建設(shè)服務(wù)。
一、 @RequestParam
/** * 用戶登錄 * @param userName * @param password * @return */ @RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestParam String userName, @RequestParam String password){ public BaseResponse login(@RequestParam("user") String userName, @RequestParam("psd") String password){
如果前端不傳 userName 或者 password 參數(shù)名的參數(shù)就會(huì)報(bào)錯(cuò)
1. 用 @RequestParam 前端傳過(guò)來(lái)的參數(shù)名默認(rèn)為 userName 我們String后面起的參數(shù)名
如果前端不傳 user 或者 psd 參數(shù)名的參數(shù)就會(huì)報(bào)錯(cuò)
2. 用 @RequestParam("user") @RequestParam("psd"), 給前端傳遞過(guò)來(lái)的參數(shù)指定參數(shù)名
錯(cuò)誤信息
3. "message":"Required String parameter 'userName' is not present"
其實(shí)還有其他的形式
看下面
@RequestParam(value="user" required=false) 這個(gè)注解
可以通過(guò) required = false 或者 true 來(lái)要求 @RequestParam配置的前端參數(shù)是否一定要傳
required = false 表示不傳的話,會(huì)給參數(shù)賦值為 null ,required = true 就是必須要有
注意:
如果@requestParam注解的參數(shù)是int類型,并且required=false,此時(shí)如果不傳參數(shù)的話,會(huì)報(bào)錯(cuò)。原因是,required=false時(shí),不傳參數(shù)的話,會(huì)給參數(shù)賦值null,這樣就會(huì)把null賦值給了int,因此會(huì)報(bào)錯(cuò)。
使用 Integer 包裝類型的話還要需要注意空指針異常
二、@RequestBody
@RequestBody 以 字符串 的形式接收前端傳過(guò)來(lái)的請(qǐng)求體中的 json 數(shù)據(jù)
@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody String jsonStr){
@RequestBody 以 簡(jiǎn)單對(duì)象 接收前端傳過(guò)來(lái)的 json 數(shù)據(jù)
@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody User user){
@RequestBody以 復(fù)雜對(duì)象 接收前端傳過(guò)來(lái)的 json 數(shù)據(jù)
@RequestMapping(value = "login", method = RequestMethod.POST) public String login(@RequestBody Team team){
以上就是如何使用@RequestParam 與@RequestBody,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。