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

SpringBoot多種場景傳參模式

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

web技術(shù)

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

多種傳參方式

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

我們知道controller方法中會幫我注入HttpServletRequest對象,我們可以通過
request.getParameter("參數(shù)名")來直接獲取參數(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;
}

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

  • 如果請求參數(shù)和Controller方法的形參同名,可以直接接收
  • 如果請求參數(shù)和Controller方法的形參不同名,可以使用@RequestParam注解貼在形參前,設(shè)置對應(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)沒有該請求參數(shù)時,SpringMVC給請求參數(shù)的默認(rèn)值
      System.out.println(name);
      System.out.println(pwd);
      return null;
}

復(fù)雜對象映射

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

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

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

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

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

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

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

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

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

Restful風(fēng)格傳參

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

主要用于客戶端和服務(wù)器交互類的軟件,該風(fēng)格設(shè)計的軟件可以更簡潔,更有層次,更易于實現(xiàn)緩存等機制。 在后臺,RequestMapping標(biāo)簽后,可以用{參數(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多種場景傳參模式的文章就介紹到這了,更多相關(guān)SpringBoot 傳參模式內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java二進制運算基礎(chǔ)知識點詳解

    java二進制運算基礎(chǔ)知識點詳解

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

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

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

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

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

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

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

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

    這篇文章主要為大家詳細(xì)介紹了Feign Client 超時時間設(shè)置不生效的原因與解決方法,具有一定的的參考價值,希望對大家有一定的幫助
    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的幾種方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2020-03-03
  • java分頁工具類的使用方法

    java分頁工具類的使用方法

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

    Mybatis plus中的like查詢問題

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

    Spring?使用注解存儲和讀取?Bean對象操作方法

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

最新評論

赞皇县| 固镇县| 南宫市| 宿迁市| 修文县| 黔西县| 尉犁县| 临泽县| 米泉市| 岐山县| 剑阁县| 江陵县| 仙桃市| 平顺县| 本溪| 长治市| 临汾市| 德惠市| 盘山县| 青海省| 文化| 仲巴县| 新野县| 左云县| 西安市| 永吉县| 遵义市| 昌图县| 翁牛特旗| 宁河县| 合作市| 南宫市| 安顺市| 盖州市| 松溪县| 乌鲁木齐县| 揭阳市| 哈密市| 临西县| 五寨县| 济南市|