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

SpringBoot中Get請(qǐng)求和POST請(qǐng)求接收參數(shù)示例詳解

 更新時(shí)間:2024年12月30日 14:43:54   作者:香餑餑~、  
文章詳細(xì)介紹了SpringBoot中Get請(qǐng)求和POST請(qǐng)求的參數(shù)接收方式,包括方法形參接收參數(shù)、實(shí)體類接收參數(shù)、HttpServletRequest接收參數(shù)、@PathVariable接收參數(shù)、數(shù)組參數(shù)接收、集合參數(shù)接收、Map接收參數(shù)以及通過(guò)@RequestBody接收J(rèn)SON格式的參數(shù),感興趣的朋友一起看看吧

1、Get請(qǐng)求

1.1 方法形參接收參數(shù) 這種方式一般適用參數(shù)比較少的情況,并且前后端參數(shù)名稱必須保持一致

@RestController
@RequestMapping("/user")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(String name,String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

參數(shù)用 @RequestParam 標(biāo)注,使用value屬性指定參數(shù)名,required屬性表示這個(gè)參數(shù)是否必傳

@RestController
@RequestMapping("/user")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(@RequestParam(value = "name", required = false) String name,
                           @RequestParam(value = "age", required = false) String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

1.2 實(shí)體類接收參數(shù)

注意:Get 請(qǐng)求以實(shí)體類接收參數(shù)時(shí),不能用 RequestParam 注解進(jìn)行標(biāo)注,因?yàn)椴恢С诌@樣的方式獲取參數(shù)。

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(Student student) {
        log.info("name:{}",student.getName());
        log.info("age:{}",student.getAge());
    }
}
@Data
class Student{
    private String name;
    private Integer age;
}

1.3 通過(guò)HttpServletRequest接收參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(HttpServletRequest request) {
        String name = request.getParameter("name");
        String phone = request.getParameter("age");
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

1.4 通過(guò)@PathVariable接收參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @GetMapping("/query/{name}/{age}")
    public void getStudent(@PathVariable String name, @PathVariable String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

1.5 接收數(shù)組參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(String[] names) {
        Arrays.stream(names).forEach(System.out::println);
    }
}

1.6 接受集合參數(shù)

注意:SpringBoot 接收集合參數(shù),必須用 @RequestParam 注解聲明!

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @GetMapping("/query")
    public void getStudent(@RequestParam List<String> names) {
        names.forEach(System.out::println);
    }
}

2、POST請(qǐng)求

2.1 方法形參接收參數(shù) 前后端參數(shù)名稱必須保持一致

@RestController
@RequestMapping("/user")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(String name,String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

參數(shù)用 @RequestParam 標(biāo)注,使用value屬性指定參數(shù)名,required屬性表示這個(gè)參數(shù)是否必傳

@RestController
@RequestMapping("/user")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(@RequestParam(value = "name", required = false) String name,
                           @RequestParam(value = "age", required = false) String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

2.2 通過(guò)HttpServletRequest接收參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(HttpServletRequest request) {
        String name = request.getParameter("name");
        String phone = request.getParameter("age");
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

2.3 通過(guò)@PathVariable接收參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save/{name}/{age}")
    public void saveStudent(@PathVariable String name, @PathVariable String age) {
        log.info("name:{}",name);
        log.info("age:{}",age);
    }
}

2.4 通過(guò)param方式提交參數(shù),以實(shí)體類接收參數(shù)

直接以實(shí)體類可以接收param、form-data、 x-www-form-urlencoded 提交的參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(Student student) {
        log.info("name:{}",student.getName());
        log.info("age:{}",student.getAge());
    }
}
@Data
class Student{
    private String name;
    private Integer age;
}

2.5 請(qǐng)求體以JSON格式提交參數(shù),通過(guò) @RequestBody 注解接收參數(shù)

接受實(shí)體類JSON參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(@RequestBody Student student) {
        log.info("name:{}",student.getName());
        log.info("age:{}",student.getAge());
    }
}
@Data
class Student{
    private String name;
    private Integer age;
}

接收數(shù)組或者集合類JSON參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(@RequestBody String[] names) {
        Arrays.stream(names).forEach(System.out::println);
    }
    @PostMapping("/save")
    public void saveStudent(@RequestBody List<String> names) {
        names.forEach(System.out::println);
    }
}

2.6 通過(guò) Map 接收參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(@RequestParam Map<String,Object> map) {
        log.info("name:{}",map.get("name"));
        log.info("age:{}",map.get("age"));
    }
}

2.7 通過(guò)@RequestBody 接收一個(gè)參數(shù)

@RestController
@RequestMapping("/demo")
@Slf4j
public class DemoController {
    @PostMapping("/save")
    public void saveStudent(@RequestBody String name) {
        log.info("name:{}",name);
    }
}

到此這篇關(guān)于SpringBoot中Get請(qǐng)求和POST請(qǐng)求接收參數(shù)詳解的文章就介紹到這了,更多相關(guān)SpringBoot Get請(qǐng)求和POST請(qǐng)求接收參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Spring框架AOP基礎(chǔ)之代理模式詳解

    Spring框架AOP基礎(chǔ)之代理模式詳解

    代理模式(Proxy Parttern)為一個(gè)對(duì)象提供一個(gè)替身,來(lái)控制這個(gè)對(duì)象的訪問(wèn),即通過(guò)代理對(duì)象來(lái)訪問(wèn)目標(biāo)對(duì)象。本文將通過(guò)示例詳細(xì)講解一下這個(gè)模式,需要的可以參考一下
    2022-11-11
  • Java中的Spring?如何處理循環(huán)依賴

    Java中的Spring?如何處理循環(huán)依賴

    這篇文章主要介紹了Java中的Spring?如何處理循環(huán)依賴,依賴指的是Bean與Bean之間的依賴關(guān)系,循環(huán)依賴指的是兩個(gè)或者多個(gè)Bean相互依賴,關(guān)于更多Spring?處理循環(huán)依賴的詳情,需要的朋友可以參考下面文章具體內(nèi)容
    2022-05-05
  • Apache?Commons?CLI構(gòu)建命令行應(yīng)用利器教程

    Apache?Commons?CLI構(gòu)建命令行應(yīng)用利器教程

    這篇文章主要為大家介紹了構(gòu)建命令行應(yīng)用利器Apache?Commons?CLI的使用教程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Spring?Boot?Admin?添加報(bào)警提醒和登錄驗(yàn)證功能的具體實(shí)現(xiàn)

    Spring?Boot?Admin?添加報(bào)警提醒和登錄驗(yàn)證功能的具體實(shí)現(xiàn)

    報(bào)警提醒功能是基于郵箱實(shí)現(xiàn)的,當(dāng)然也可以使用其他的提醒功能,如釘釘或飛書(shū)機(jī)器人提醒也是可以的,但郵箱報(bào)警功能的實(shí)現(xiàn)成本最低,所以本文我們就來(lái)看郵箱的報(bào)警提醒功能的具體實(shí)現(xiàn)
    2022-01-01
  • 詳解MyBatis多數(shù)據(jù)源配置(讀寫(xiě)分離)

    詳解MyBatis多數(shù)據(jù)源配置(讀寫(xiě)分離)

    這篇文章主要介紹了詳解MyBatis多數(shù)據(jù)源配置(讀寫(xiě)分離),小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Java網(wǎng)絡(luò)編程之基于TCP協(xié)議

    Java網(wǎng)絡(luò)編程之基于TCP協(xié)議

    本文主要將Java基于TCP的網(wǎng)絡(luò)編程主要分解成5個(gè)功能:功能分解1:單向通信功能分解,2:雙向通信功能分解,3:對(duì)象流傳送功能分解,4:加入完整的處理異常方式功能分解,5:多線程接收用戶請(qǐng)求,需要的朋友可以參考下
    2021-05-05
  • SpringBoot搭建多數(shù)據(jù)源的實(shí)現(xiàn)方法

    SpringBoot搭建多數(shù)據(jù)源的實(shí)現(xiàn)方法

    說(shuō)起多數(shù)據(jù)源,一般都來(lái)解決那些問(wèn)題呢,主從模式或者業(yè)務(wù)比較復(fù)雜需要連接不同的分庫(kù)來(lái)支持業(yè)務(wù)。本文主要介紹了SpringBoot搭建多數(shù)據(jù)源的實(shí)現(xiàn)方法,感興趣的可以了解一下,感興趣的可以額了解一下
    2021-12-12
  • Java在Map轉(zhuǎn)Json字符串時(shí)出現(xiàn)"\"轉(zhuǎn)義字符的解決辦法

    Java在Map轉(zhuǎn)Json字符串時(shí)出現(xiàn)"\"轉(zhuǎn)義字符的解決辦法

    當(dāng)一個(gè)Map被轉(zhuǎn)成Json字符串后,被添加到另一個(gè)Map中,會(huì)出現(xiàn)被加上“\”轉(zhuǎn)義字符的情況,這個(gè)時(shí)候該如何解決呢,下面就來(lái)和小編一起了解一下
    2023-07-07
  • Java基礎(chǔ)之String類使用與字符串比較

    Java基礎(chǔ)之String類使用與字符串比較

    String類代表字符串,java程序中的所有字符串文字(例如"abc")都被實(shí)現(xiàn)為此類的實(shí)例。本文將詳解String類的使用,以及如何進(jìn)行字符串比較
    2022-08-08
  • SpringBoot集成Access?DB實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入和解析

    SpringBoot集成Access?DB實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入和解析

    microsoft?office?access是由微軟發(fā)布的關(guān)聯(lián)式數(shù)據(jù)庫(kù)管理系統(tǒng),它結(jié)合了?microsoft?jet?database?engine?和?圖形用戶界面兩項(xiàng)特點(diǎn),是一種關(guān)系數(shù)據(jù)庫(kù)工具,本文給大家介紹了SpringBoot集成Access?DB實(shí)現(xiàn)數(shù)據(jù)導(dǎo)入和解析,需要的朋友可以參考下
    2024-11-11

最新評(píng)論