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

詳解SpringBoot中5種類型參數(shù)傳遞和json數(shù)據(jù)傳參的操作

 更新時間:2023年12月11日 09:03:04   作者:在下小吉.  
當(dāng)涉及到參數(shù)傳遞時,Spring?Boot遵循HTTP協(xié)議,并支持多種參數(shù)傳遞方式,這些參數(shù)傳遞方式可以根據(jù)請求的不同部分進行分類,

當(dāng)涉及到參數(shù)傳遞時,Spring Boot遵循HTTP協(xié)議,并支持多種參數(shù)傳遞方式。這些參數(shù)傳遞方式可以根據(jù)請求的不同部分進行分類。

  • 路徑參數(shù)(Path Parameters):
  • 路徑參數(shù)是指在URL路徑中的一部分,用于標識資源或指定操作。路徑參數(shù)通常以{}的形式出現(xiàn)在URL中,如/users/{id},其中id就是一個路徑參數(shù)。路徑參數(shù)可以在URL中動態(tài)地改變,從而實現(xiàn)對不同資源的操作。使用路徑參數(shù)時,Spring Boot使用@PathVariable注解將路徑參數(shù)綁定到方法參數(shù)上。
  • 查詢參數(shù)(Query Parameters):
  • 查詢參數(shù)通常作為URL的一部分,以?開始,以key=value的形式出現(xiàn),多個參數(shù)之間使用&連接,如/users?id=1&name=John。查詢參數(shù)主要用于篩選或過濾資源。在Spring Boot中,可以使用@RequestParam注解將查詢參數(shù)綁定到方法參數(shù)上。請求體參數(shù)(Request Body Parameters):
  • 請求體參數(shù)是通過HTTP請求體中發(fā)送的數(shù)據(jù),通常用于傳遞復(fù)雜結(jié)構(gòu)的數(shù)據(jù),如JSON、XML等。請求體參數(shù)可以包含多個字段,并且可以表示更為復(fù)雜的數(shù)據(jù)模型。在Spring Boot中,可以使用@RequestBody注解將請求體參數(shù)綁定到方法參數(shù)上。
  • 表單參數(shù)(Form Parameters):
  • 表單參數(shù)通常使用HTML表單提交的數(shù)據(jù),可以通過application/x-www-form-urlencoded或multipart/form-data格式傳輸。表單參數(shù)與查詢參數(shù)類似,但是通常用于提交數(shù)據(jù)而不是進行篩選。在Spring Boot中,可以使用@RequestParam注解將表單參數(shù)綁定到方法參數(shù)上。
  • 請求頭參數(shù)(Request Header Parameters):
  • 請求頭參數(shù)包含在HTTP請求的頭部信息中,可以用于傳遞附加的元數(shù)據(jù),如鑒權(quán)信息、用戶代理等。在Spring Boot中,可以使用@RequestHeader注解將請求頭參數(shù)綁定到方法參數(shù)上。

使用理論進行講解時,我們可以了解這些參數(shù)傳遞方式的原理和用途。根據(jù)HTTP協(xié)議的規(guī)范和Spring Boot的設(shè)計,開發(fā)人員可以選擇合適的參數(shù)傳遞方式來滿足業(yè)務(wù)需求。這些參數(shù)傳遞方式在RESTful API開發(fā)中非常常見,可以用于處理各種場景下的數(shù)據(jù)傳輸。

普通參數(shù)

我們在UserController類中寫入這一段代碼

 @RequestMapping("/commonParamDifferentname")
    @ResponseBody
    public String commonParamDifferentName(@RequestParam("name") String userName,int age){
        System.out.println("普通參數(shù)傳遞 userName ==> "+userName);
        System.out.println("普通參數(shù)傳遞 age ==> "+age);
        return "{'module':'common param different name'}";
    }

在這里插入圖片描述

接收成功

在這里插入圖片描述

POJO參數(shù)

我們在User類中寫入這一段代碼

package com.example.domain;

public class User {
    private String name;
    private int age;

    private Address address;


    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }
}

我們在UserController類中寫入這一段代碼

//POJO參數(shù):請求參數(shù)與形參對象中的屬性對應(yīng)即可完成參數(shù)傳遞
    @RequestMapping("/pojoParam")
    @ResponseBody
    public String pojoParam(User user){
        System.out.println("pojo參數(shù)傳遞 user ==> "+user);
        return "{'module':'pojo param'}";
    }

在這里插入圖片描述

運行成功

在這里插入圖片描述

嵌套pojo參數(shù)

適用于下面這種,可以反復(fù)寫

在這里插入圖片描述

我們在Address類中寫入這一段代碼

package com.example.domain;
public class Address {
    private String province;
    private String city;

    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

    public String getProvince() {
        return province;
    }

    public void setProvince(String province) {
        this.province = province;
    }

    public String getCity() {
        return city;
    }

    public void setCity(String city) {
        this.city = city;
    }
}

在UserController里面寫入這一段代碼

  @RequestMapping("/pojoContainPojoParam")
    @ResponseBody
    public String pojoContainPojoParam(User user){
        System.out.println("pojo嵌套pojo參數(shù)傳遞 user ==> "+user);
        return "{'module':'pojo contain pojo param'}";
    }

繼續(xù)測試

在這里插入圖片描述

運行成功

在這里插入圖片描述

數(shù)組參數(shù)

@RequestMapping("/arrayParam")
    @ResponseBody
    public String arrayParam(String[] likes){
        System.out.println("數(shù)組參數(shù)傳遞 likes ==> "+ Arrays.toString(likes));
        return "{'module':'array param'}";
    }

在這里插入圖片描述

在這里插入圖片描述

運行成功

在這里插入圖片描述

集合參數(shù)

@RequestMapping("/listParam")
    @ResponseBody
    public String listParam(@RequestParam List<String> likes){
        System.out.println("集合參數(shù)傳遞 likes ==> "+ likes);
        return "{'module':'list param'}";
    }

在這里插入圖片描述

在這里插入圖片描述

運行成功

在這里插入圖片描述

json數(shù)據(jù)傳參

我們在SpringMvcConfig里面加入這一段代碼@EnableWebMvc,開啟json數(shù)據(jù)自動轉(zhuǎn)換

在這里插入圖片描述

json格式

我們找到上面 集合參數(shù) 的代碼,把@RequestParam修改為@RequestBody

   @RequestMapping("/listParamForJson")
    @ResponseBody
    public String listParamForJson(@RequestBody List<String> likes){
        System.out.println("list common(json)參數(shù)傳遞 list ==> "+likes);
        return "{'module':'list common for json param'}";
    }

在這里插入圖片描述

這里選擇json,在下面寫入數(shù)據(jù)

在這里插入圖片描述

發(fā)現(xiàn)可以運行成功

在這里插入圖片描述

嵌套json格式

@RequestMapping("/pojoParamForJson")
    @ResponseBody
    public String pojoParamForJson(@RequestBody User user){
        System.out.println("pojo(json)參數(shù)傳遞 user ==> "+user);
        return "{'module':'pojo for json param'}";
    }

在這里插入圖片描述

運行成功

在這里插入圖片描述

集合格式

@RequestMapping("/listPojoParamForJson")
    @ResponseBody
    public String listPojoParamForJson(@RequestBody List<User> list){
        System.out.println("list pojo(json)參數(shù)傳遞 list ==> "+list);
        return "{'module':'list pojo for json param'}";
    }

如果報錯,重啟一下就好了

在這里插入圖片描述

在這里插入圖片描述

運行成功

在這里插入圖片描述

以上就是詳解SpringBoot中5種類型參數(shù)傳遞和json數(shù)據(jù)傳參的操作的詳細內(nèi)容,更多關(guān)于SpringBoot類型傳參和json傳參的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Java Apollo是如何實現(xiàn)配置更新的

    Java Apollo是如何實現(xiàn)配置更新的

    這篇文章主要介紹了Java Apollo是如何實現(xiàn)配置更新的,幫助大家更好的理解和學(xué)習(xí)使用Java,感興趣的朋友可以了解下
    2021-03-03
  • SpringBoot Shiro配置自定義密碼加密器代碼實例

    SpringBoot Shiro配置自定義密碼加密器代碼實例

    這篇文章主要介紹了SpringBoot Shiro配置自定義密碼加密器代碼實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-03-03
  • Java I/O深入學(xué)習(xí)之File和RandomAccessFile

    Java I/O深入學(xué)習(xí)之File和RandomAccessFile

    這篇文章主要介紹了Java I/O深入學(xué)習(xí)之File和RandomAccessFile, I/O系統(tǒng)即輸入/輸出系統(tǒng),對于一門程序語言來說,創(chuàng)建一個好的輸入/輸出系統(tǒng)并非易事。在充分理解Java I/O系統(tǒng)以便正確地運用之前,我們需要學(xué)習(xí)相當(dāng)數(shù)量的類。,需要的朋友可以參考下
    2019-06-06
  • 一文詳解Java如何創(chuàng)建和銷毀對象

    一文詳解Java如何創(chuàng)建和銷毀對象

    Java由Sun Microsystems發(fā)明并在1995年發(fā)布,是世界上使用最廣泛的編程語言之一。本文主要和大家介紹一下Java是如何創(chuàng)建和銷毀對象的,希望對大家有所幫助
    2022-11-11
  • java實現(xiàn)最短路徑算法之Dijkstra算法

    java實現(xiàn)最短路徑算法之Dijkstra算法

    這篇文章主要介紹了java實現(xiàn)最短路徑算法之Dijkstra算法, Dijkstra算法是最短路徑算法中為人熟知的一種,是單起點全路徑算法,有興趣的可以了解一下
    2017-10-10
  • Java使用正則獲取括號里面的內(nèi)容

    Java使用正則獲取括號里面的內(nèi)容

    這篇文章主要介紹了Java使用正則獲取括號里面的內(nèi)容問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • 基于Mybatis Plus實現(xiàn)多表分頁查詢的示例代碼

    基于Mybatis Plus實現(xiàn)多表分頁查詢的示例代碼

    這篇文章主要介紹了基于Mybatis Plus實現(xiàn)多表分頁查詢的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • 關(guān)于Maven依賴沖突解決之exclusions

    關(guān)于Maven依賴沖突解決之exclusions

    這篇文章主要介紹了關(guān)于Maven依賴沖突解決之exclusions用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java中的LinkedHashSet和TreeSet解讀

    Java中的LinkedHashSet和TreeSet解讀

    這篇文章主要介紹了Java中的LinkedHashSet和TreeSet解讀,哈希表和鏈表實現(xiàn)的set接口哈希表決定了它元素是唯一的,而鏈表則保證了他是有序的(存儲和取出順序一致),元素按照一定規(guī)則排序,不是按儲存時間排的,需要的朋友可以參考下
    2023-09-09
  • Mybatisplus自動填充實現(xiàn)方式及代碼示例

    Mybatisplus自動填充實現(xiàn)方式及代碼示例

    這篇文章主要介紹了Mybatisplus自動填充實現(xiàn)方式及代碼示例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-11-11

最新評論

肃南| 儋州市| 木兰县| 郁南县| 阳山县| 顺平县| 武宣县| 青海省| 巩义市| 鹿邑县| 高雄县| 分宜县| 灵武市| 东港市| 宿松县| 噶尔县| 炎陵县| 城口县| 浦北县| 五常市| 邹平县| 霍州市| 荥经县| 禹州市| 仁寿县| 景宁| 自治县| 全椒县| 建阳市| 湖南省| 邛崃市| 西畴县| 石门县| 宁国市| 昆山市| 石泉县| 盐边县| 沁阳市| 布拖县| 南汇区| 武陟县|