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

SpringBoot多種場(chǎng)景傳參模式

 更新時(shí)間:2021年07月29日 14:12:14   作者:kenx  
傳參是非常常見的,本文主要介紹了SpringBoot多種場(chǎng)景傳參模式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

web技術(shù)

我們知道常見的web技術(shù)也就是網(wǎng)站開發(fā),分為靜態(tài)網(wǎng)站,和動(dòng)態(tài)網(wǎng)站,動(dòng)態(tài)網(wǎng)站技術(shù)常見的有三種,分別是 jsp java web,asp c# web,php web但是它們對(duì)應(yīng)請(qǐng)求request,響應(yīng)response 都是一樣的我們用java web開發(fā)動(dòng)態(tài)網(wǎng)站用的mvc框架就是,springmvc,當(dāng)然我們現(xiàn)在用的是springboot 它只是對(duì)spirng全家桶的一個(gè)整合框架,他本質(zhì)不是一個(gè)新的框架,內(nèi)部還是spirng+springmvc

多種傳參方式

傳統(tǒng)參數(shù)傳遞

我們知道controller方法中會(huì)幫我注入HttpServletRequest對(duì)象,我們可以通過(guò)
request.getParameter("參數(shù)名")來(lái)直接獲取參數(shù),

@RequestMapping("/test01")
public ModelAndView test01(HttpServletRequest request){
      String username = request.getParameter("username");
      String password = request.getParameter("password");

      System.out.println(username);
      System.out.println(password);
      return null;
}

簡(jiǎn)單類型參數(shù)映射

  • 如果請(qǐng)求參數(shù)和Controller方法的形參同名,可以直接接收
  • 如果請(qǐng)求參數(shù)和Controller方法的形參不同名,可以使用@RequestParam注解貼在形參前,設(shè)置對(duì)應(yīng)的參數(shù)名稱

注意這里只能是基本數(shù)據(jù)類型比如string,int,long,boolean等類型

@RequestMapping("/test02_1")
public ModelAndView test02_1(String username,String password){
      System.out.println(username);
      System.out.println(password);
      return null;
}
@RequestMapping("/test02_2")
public ModelAndView test02_2(@RequestParam("username") String name,@RequestParam(value = "password",defaultValue = "1234987") String pwd){
      //使用了@RequestParam的參數(shù)不能傳空值
      // required:表示是否必須要傳值
      // defaultValue:當(dāng)沒(méi)有該請(qǐng)求參數(shù)時(shí),SpringMVC給請(qǐng)求參數(shù)的默認(rèn)值
      System.out.println(name);
      System.out.println(pwd);
      return null;
}

復(fù)雜對(duì)象映射

當(dāng)然在實(shí)際項(xiàng)目中,我們會(huì)有很多個(gè)參數(shù),一般超過(guò)兩個(gè)參數(shù)我們就要封裝成對(duì)象,通過(guò)對(duì)象傳參數(shù),不然這么一個(gè)一個(gè)寫會(huì)麻煩,代碼冗余,不美觀,不能復(fù)用

此時(shí)能夠自動(dòng)把參數(shù)封裝到形參的對(duì)象屬性上:

  • 請(qǐng)求參數(shù)必須和對(duì)象的屬性同名
  • 此時(shí)對(duì)象會(huì)直接放入request作用域中,名稱為類型首字母小寫
  • @ModelAttribute設(shè)置請(qǐng)求參數(shù)綁定到對(duì)象中并傳到視圖頁(yè)面的key值
@RequestMapping("/test03")

public ModelAndView test03(@ModelAttribute("stu") Student student){
    /*可以使用對(duì)象作為方法的形參,同時(shí)接受接受前臺(tái)的多個(gè)請(qǐng)求參數(shù)
      SpringMVC會(huì)基于同名匹配,將請(qǐng)求參數(shù)的值注入對(duì)應(yīng)的對(duì)象中的屬性中
      @ModelAttribute起名字key值*/
      System.out.println(student);
      ModelAndView mv = new ModelAndView();
      mv.setViewName("test2");
      return mv;
}

如果需要body里面json傳參數(shù)需要在形參前面加上@RequestBody 會(huì)自動(dòng)完成映射

 @PostMapping("/register")
    public Result bodyParams(@RequestBody Users users) {
        return ResultResponse.success(users);
    }

數(shù)組和集合類型參數(shù)

當(dāng)前臺(tái)頁(yè)面?zhèn)鱽?lái)的參數(shù)是參數(shù)名相同,參數(shù)值不同的多個(gè)參數(shù)時(shí),可以直接封裝到方法的數(shù)組類型的形參中
比如批量刪除時(shí)傳來(lái)的參數(shù)

    /*對(duì)于參數(shù)名相同的多個(gè)請(qǐng)求參數(shù),可以直接使用數(shù)組作為方法的形參接收
      可以使用對(duì)象中的集合屬性接收*/
    @DeleteMapping("/del")
    public Result listParams(String[] ids) {
        return ResultResponse.success(ids);
    }

Restful風(fēng)格傳參

Restful是一種軟件架構(gòu)風(fēng)格,嚴(yán)格上說(shuō)是一種編碼風(fēng)格,其充分利用 HTTP 協(xié)議本身語(yǔ)義從而提供了一組設(shè)計(jì)原則和約束條件。

主要用于客戶端和服務(wù)器交互類的軟件,該風(fēng)格設(shè)計(jì)的軟件可以更簡(jiǎn)潔,更有層次,更易于實(shí)現(xiàn)緩存等機(jī)制。 在后臺(tái),RequestMapping標(biāo)簽后,可以用{參數(shù)名}方式傳參,同時(shí)需要在形參前加注解@PathVarible

@RequestMapping("/delete/{id}")
public ModelAndView test4(@PathVariable("id")Long id){
    System.out.println("delete");
    System.out.println(id);
    return null;
}

到此這篇關(guān)于SpringBoot多種場(chǎng)景傳參模式的文章就介紹到這了,更多相關(guān)SpringBoot 傳參模式內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java二進(jìn)制運(yùn)算基礎(chǔ)知識(shí)點(diǎn)詳解

    java二進(jìn)制運(yùn)算基礎(chǔ)知識(shí)點(diǎn)詳解

    在本文里小編給大家分享了關(guān)于java二進(jìn)制運(yùn)算基礎(chǔ)知識(shí)點(diǎn)以及實(shí)例代碼內(nèi)容,需要的朋友們參考學(xué)習(xí)下。
    2019-08-08
  • Java substring方法實(shí)現(xiàn)原理解析

    Java substring方法實(shí)現(xiàn)原理解析

    這篇文章主要介紹了Java substring方法實(shí)現(xiàn)原理解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-05-05
  • 通過(guò)System.getProperty配置JVM系統(tǒng)屬性

    通過(guò)System.getProperty配置JVM系統(tǒng)屬性

    這篇文章主要介紹了通過(guò)System.getProperty配置JVM系統(tǒng)屬性,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序

    HTTP/HTTPS是最常見的協(xié)議套件之一,并且隨著智能手機(jī)的成功,它的應(yīng)用也日益廣泛,因?yàn)閷?duì)于任何公司來(lái)說(shuō),擁有一個(gè)可以被移動(dòng)設(shè)備訪問(wèn)的網(wǎng)站幾乎是必須的。下面就來(lái)看看如何開發(fā)基于Netty的HTTP/HTTPS應(yīng)用程序
    2021-06-06
  • Feign Client超時(shí)時(shí)間設(shè)置不生效的解決方法

    Feign Client超時(shí)時(shí)間設(shè)置不生效的解決方法

    這篇文章主要為大家詳細(xì)介紹了Feign Client 超時(shí)時(shí)間設(shè)置不生效的原因與解決方法,具有一定的的參考價(jià)值,希望對(duì)大家有一定的幫助
    2025-04-04
  • Java 使用多線程調(diào)用類的靜態(tài)方法的示例

    Java 使用多線程調(diào)用類的靜態(tài)方法的示例

    這篇文章主要介紹了Java 使用多線程調(diào)用類的靜態(tài)方法的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2020-10-10
  • 如何用IDEA調(diào)試BUG的幾種方法

    如何用IDEA調(diào)試BUG的幾種方法

    這篇文章主要介紹了如何用IDEA調(diào)試BUG的幾種方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • java分頁(yè)工具類的使用方法

    java分頁(yè)工具類的使用方法

    這篇文章主要為大家詳細(xì)介紹了java分頁(yè)工具類的使用方法,穩(wěn)定的分頁(yè)效果,包括導(dǎo)航頁(yè)碼功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • Mybatis plus中的like查詢問(wèn)題

    Mybatis plus中的like查詢問(wèn)題

    這篇文章主要介紹了Mybatis plus中的like查詢問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-06-06
  • Spring?使用注解存儲(chǔ)和讀取?Bean對(duì)象操作方法

    Spring?使用注解存儲(chǔ)和讀取?Bean對(duì)象操作方法

    在?Spring?中,要想更加簡(jiǎn)單的實(shí)現(xiàn)對(duì)?Bean?對(duì)象的儲(chǔ)存和使用,其核心就是使用?注解?,本文主要就是演示如何使用注解實(shí)現(xiàn)對(duì)?Bean?對(duì)象的存取操作,感興趣的朋友跟隨小編一起看看吧
    2023-08-08

最新評(píng)論

盈江县| 资阳市| 南丹县| 当雄县| 潼南县| 渭源县| 新龙县| 盐城市| 海丰县| 偏关县| 崇仁县| 农安县| 清苑县| 错那县| 乐昌市| 勃利县| 喜德县| 凤凰县| 青冈县| 资溪县| 平陆县| 成武县| 鲁山县| 景谷| 新邵县| 聂拉木县| 天津市| 常山县| 安图县| 旬邑县| 菏泽市| 南澳县| 罗江县| 盐源县| 灵山县| 颍上县| 江阴市| 宁波市| 东辽县| 深水埗区| 通州市|