最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

簡單捋捋@RequestParam 和 @RequestBody的使用

 更新時間:2019年12月17日 09:40:19   作者:lankeren  
這篇文章主要介紹了簡單捋捋@RequestParam 和 @RequestBody的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧

前端向后端傳遞參數(shù),后端怎么去接收,就會想到 spring 的注解

之前的話,我一直用的是 RequestParam("userName") String userName 這種形式,講道理不怎么用 RequestParam String userName

無意間該去看看這兩個是有什么不同了.

  • @RequestParam
  • @RequestBody (以 json 數(shù)據(jù)的形式接收)

 如果不寫 @RequestParam(xxx) 注解的話,那么就前端可以有 可以沒有對應的xxx名字都行

 如果有xxx名,那么就會自動匹配; 

如果沒有,請求也能正確發(fā)送。

一、 @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ù)就會報錯

1. 用 @RequestParam 前端傳過來的參數(shù)名默認為 userName 我們String后面起的參數(shù)名

如果前端不傳 user 或者 psd 參數(shù)名的參數(shù)就會報錯

2. 用 @RequestParam("user") @RequestParam("psd"), 給前端傳遞過來的參數(shù)指定參數(shù)名

錯誤信息

3. "message":"Required String parameter 'userName' is not present"

其實還有其他的形式

看下面

@RequestParam(value="user" required=false) 這個注解

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

required = false 表示不傳的話,會給參數(shù)賦值為 null ,required = true 就是必須要有

注意:

如果@requestParam注解的參數(shù)是int類型,并且required=false,此時如果不傳參數(shù)的話,會報錯。原因是,required=false時,不傳參數(shù)的話,會給參數(shù)賦值null,這樣就會把null賦值給了int,因此會報錯。

使用 Integer 包裝類型的話還要需要注意空指針異常

二、@RequestBody

@RequestBody 以 字符串 的形式接收前端傳過來的請求體中的 json 數(shù)據(jù)

  @RequestMapping(value = "login", method = RequestMethod.POST)
  public String login(@RequestBody String jsonStr){

       

@RequestBody 以 簡單對象 接收前端傳過來的 json 數(shù)據(jù)

  @RequestMapping(value = "login", method = RequestMethod.POST)
  public String login(@RequestBody User user){

@RequestBody以 復雜對象 接收前端傳過來的 json 數(shù)據(jù)

  @RequestMapping(value = "login", method = RequestMethod.POST)
  public String login(@RequestBody Team team){

參考: 筆者JustryDeng

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

聊城市| 延寿县| 望奎县| 青龙| 门头沟区| 巴楚县| 山西省| 枣阳市| 贡山| 确山县| 禄丰县| 巴林右旗| 济南市| 洱源县| 元谋县| 顺义区| 祁门县| 沈丘县| 丽水市| 莱州市| 天柱县| 思南县| 盐亭县| 峨眉山市| 马关县| 荃湾区| 儋州市| 淮阳县| 砀山县| 太和县| 北辰区| 吉木萨尔县| 睢宁县| 桃园县| 德阳市| 绍兴市| 彰化市| 新乡市| 枣庄市| 商洛市| 茶陵县|