欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

簡(jiǎn)單捋捋@RequestParam 和 @RequestBody的使用

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

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

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

無(wú)意間該去看看這兩個(gè)是有什么不同了.

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

 如果不寫(xiě) @RequestParam(xxx) 注解的話(huà),那么就前端可以有 可以沒(méi)有對(duì)應(yīng)的xxx名字都行

 如果有xxx名,那么就會(huì)自動(dòng)匹配; 

如果沒(méi)有,請(qǐng)求也能正確發(fā)送。

一、 @RequestParam

   /**
   * 用戶(hù)登錄
   * @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à),會(huì)給參數(shù)賦值為 null ,required = true 就是必須要有

注意:

如果@requestParam注解的參數(shù)是int類(lèi)型,并且required=false,此時(shí)如果不傳參數(shù)的話(huà),會(huì)報(bào)錯(cuò)。原因是,required=false時(shí),不傳參數(shù)的話(huà),會(huì)給參數(shù)賦值null,這樣就會(huì)把null賦值給了int,因此會(huì)報(bào)錯(cuò)。

使用 Integer 包裝類(lèi)型的話(huà)還要需要注意空指針異常

二、@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){

參考: 筆者JustryDeng

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java中的多線(xiàn)程一定就快嗎?

    Java中的多線(xiàn)程一定就快嗎?

    這篇文章主要介紹了Java 多線(xiàn)程的相關(guān)資料,幫助大家是否選擇開(kāi)啟多線(xiàn)程,感興趣的朋友可以了解下
    2020-09-09
  • Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    Spring使用AOP完成統(tǒng)一結(jié)果封裝實(shí)例demo

    這篇文章主要介紹了Spring使用AOP完成統(tǒng)一結(jié)果封裝,本文通過(guò)實(shí)現(xiàn)demo給大家詳細(xì)講解,代碼簡(jiǎn)單易懂,對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-02-02
  • java高效讀大文件(csv,text)的幾種處理方式

    java高效讀大文件(csv,text)的幾種處理方式

    這篇文章主要給大家介紹了關(guān)于java高效讀大文件(csv,text)的幾種處理方式,Java中處理大文件時(shí),通常需要采取一些特定的策略來(lái)避免內(nèi)存溢出或性能問(wèn)題,文中通過(guò)代碼及圖片介紹的非常詳細(xì),需要的朋友可以參考下
    2024-07-07
  • SpringBoot在一定時(shí)間內(nèi)限制接口請(qǐng)求次數(shù)的實(shí)現(xiàn)示例

    SpringBoot在一定時(shí)間內(nèi)限制接口請(qǐng)求次數(shù)的實(shí)現(xiàn)示例

    在項(xiàng)目中,接口的暴露在外面,很多人就會(huì)惡意多次快速請(qǐng)求,本文主要介紹了SpringBoot在一定時(shí)間內(nèi)限制接口請(qǐng)求次數(shù)的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下
    2022-03-03
  • Java一元稀疏多項(xiàng)式計(jì)算器

    Java一元稀疏多項(xiàng)式計(jì)算器

    大家好,本篇文章主要講的是Java一元稀疏多項(xiàng)式計(jì)算器,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下,方便下次瀏覽
    2021-12-12
  • mybatis之增刪改查

    mybatis之增刪改查

    本篇文章主要介紹了Mybatis實(shí)現(xiàn)數(shù)據(jù)的增刪改查實(shí)例(CRUD),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2021-07-07
  • idea 創(chuàng)建 maven web 工程流程(圖文教程)

    idea 創(chuàng)建 maven web 工程流程(圖文教程)

    這篇文章主要介紹了idea 創(chuàng)建 maven web 工程流程(圖文教程),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • Java基于Calendar類(lèi)輸出指定年份和月份的日歷代碼實(shí)例

    Java基于Calendar類(lèi)輸出指定年份和月份的日歷代碼實(shí)例

    這篇文章主要介紹了Java 使用Calendar類(lèi)輸出指定年份和月份的日歷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 詳解MyBatis如何在大數(shù)據(jù)量下使用流式查詢(xún)進(jìn)行數(shù)據(jù)同步

    詳解MyBatis如何在大數(shù)據(jù)量下使用流式查詢(xún)進(jìn)行數(shù)據(jù)同步

    通常的數(shù)據(jù)同步中,如果數(shù)據(jù)量比較少的話(huà)可以直接全量同步,但是如果數(shù)據(jù)量很大的話(huà),全量同步需要大量的內(nèi)存,所以本文為大家介紹了MyBatis使用流式查詢(xún)實(shí)現(xiàn)數(shù)據(jù)同步的方法,希望對(duì)大家有所幫助
    2023-05-05
  • Java接口請(qǐng)求重試機(jī)制的幾種常見(jiàn)方法

    Java接口請(qǐng)求重試機(jī)制的幾種常見(jiàn)方法

    Java接口請(qǐng)求重試機(jī)制是保證系統(tǒng)穩(wěn)定性和容錯(cuò)能力的重要手段之一,當(dāng)接口請(qǐng)求發(fā)生失敗或暫時(shí)性錯(cuò)誤時(shí),通過(guò)重試機(jī)制可以提高請(qǐng)求的成功率,本文將詳細(xì)介紹Java接口請(qǐng)求重試機(jī)制的幾種常見(jiàn)方法,需要的朋友可以參考下
    2023-11-11

最新評(píng)論