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

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

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

1、Get請求

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 標注,使用value屬性指定參數(shù)名,required屬性表示這個參數(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ù)

注意:Get 請求以實體類接收參數(shù)時,不能用 RequestParam 注解進行標注,因為不支持這樣的方式獲取參數(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 通過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 通過@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請求

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 標注,使用value屬性指定參數(shù)名,required屬性表示這個參數(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 通過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 通過@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 通過param方式提交參數(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 請求體以JSON格式提交參數(shù),通過 @RequestBody 注解接收參數(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 通過 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 通過@RequestBody 接收一個參數(shù)

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

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

相關文章

  • 實例解析JAVA中代碼的加載順序

    實例解析JAVA中代碼的加載順序

    這篇文章主要介紹了舉例說明Java中代碼塊的執(zhí)行順序,需要的朋友可以參考下
    2017-04-04
  • MybatisPlus?QueryWrapper常用方法實例

    MybatisPlus?QueryWrapper常用方法實例

    MyBatis-Plus(opens new window)是一個MyBatis(opens new window)的增強工具,在 MyBatis的基礎上只做增強不做改變,為簡化開發(fā)、提高效率而生,下面這篇文章主要給大家介紹了關于MybatisPlus?QueryWrapper常用方法的相關資料,需要的朋友可以參考下
    2022-04-04
  • Java中的泛型詳細解析

    Java中的泛型詳細解析

    這篇文章主要介紹了Java中的泛型詳細解析,泛型又稱參數(shù)化類型,是JDK5.0出現(xiàn)的新特性,解決了數(shù)據(jù)類型的安全型問題,Java泛型可以保證如果程序在編譯時沒用發(fā)出警告,運行時就不會產(chǎn)生classCastException異常,需要的朋友可以參考下
    2024-01-01
  • Java Synchronized的偏向鎖詳細分析

    Java Synchronized的偏向鎖詳細分析

    synchronized作為Java程序員最常用同步工具,很多人卻對它的用法和實現(xiàn)原理一知半解,以至于還有不少人認為synchronized是重量級鎖,性能較差,盡量少用。但不可否認的是synchronized依然是并發(fā)首選工具,本文就來詳細講講
    2023-04-04
  • maven利用tomcat插件部署遠程Linux服務器的步驟詳解

    maven利用tomcat插件部署遠程Linux服務器的步驟詳解

    Maven已經(jīng)是Java的項目管理常用方式,下面這篇文章主要給大家介紹了關于maven利用tomcat插件部署遠程Linux服務器的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。
    2017-11-11
  • Java開發(fā)人員最常犯的5個錯誤總結

    Java開發(fā)人員最常犯的5個錯誤總結

    作為一名java開發(fā)程序員,不知道大家有沒有遇到過一些匪夷所思的bug。這些錯誤通常需要您幾個小時才能解決。今天,小編總結一些常見的編碼錯誤,然后給出解決方案。希望大家在日常編碼中能夠避免這樣的問題
    2022-12-12
  • Spring中ApplicationContext的拓展功能詳解

    Spring中ApplicationContext的拓展功能詳解

    這篇文章主要介紹了Spring中ApplicationContext的拓展功能詳解,相對于BeanFactory來說,ApplicationContext除了提供BeanFactory的所有功能外,還有一些其他的功能,主要包括國際化支持、資源訪問、事件傳遞,需要的朋友可以參考下
    2024-01-01
  • CyclicBarrier線程同步共享變量底層原理示例解析

    CyclicBarrier線程同步共享變量底層原理示例解析

    這篇文章主要為大家介紹了CyclicBarrier線程同步共享變量底層原理示例解析詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • Spring?Data?Redis切換底層Jedis和Lettuce實現(xiàn)源碼解析

    Spring?Data?Redis切換底層Jedis和Lettuce實現(xiàn)源碼解析

    這篇文章主要為大家介紹了Spring?Data?Redis切換底層Jedis和Lettuce實現(xiàn)方法源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-11-11
  • SpringAOP+RabbitMQ+WebSocket實戰(zhàn)詳解

    SpringAOP+RabbitMQ+WebSocket實戰(zhàn)詳解

    這篇文章主要介紹了SpringAOP+RabbitMQ+WebSocket實戰(zhàn)詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-11-11

最新評論

乐清市| 金溪县| 高台县| 萍乡市| 桐柏县| 临漳县| 布拖县| 西林县| 中卫市| 桦川县| 方山县| 长治县| 宣城市| 正蓝旗| 龙井市| 图们市| 托克逊县| 太谷县| 甘孜| 石河子市| 澜沧| 永福县| 静安区| 高台县| 鱼台县| 永州市| 遵义市| 集安市| 雅安市| 东乌珠穆沁旗| 桐梓县| 六枝特区| 凤凰县| 达日县| 枝江市| 紫云| 大悟县| 肃南| 丹江口市| 方城县| 和平区|