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

springboot3請求參數種類及接口測試案例小結

 更新時間:2023年10月26日 09:37:27   作者:二價亞鐵  
這篇文章主要介紹了springboot3請求參數種類及接口測試案例小結,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友參考下吧

SpringBoot3數據請求:

原始數據請求:

 //原始方式
    @RequestMapping("/simpleParam")
    public String simpleParam(HttpServletRequest request){
        //獲取請求參數
        String name = request.getParameter("name");
        String age = request.getParameter("age");
        int age1 = Integer.parseInt(age);
        System.out.println(name+":"+ age1);
        return "ok";
    }

springboot數據請求方式:

 //springboot方式
    @RequestMapping("/simpleParam")
    public String simpleParam(String name,Integer age){
        //獲取請求參數
        System.out.println(name+":"+ age);
        return "ok";
    }

**

一、簡單實體參數:

**
@RequestParam注解的使用:方法形參名稱與請求參數名稱不匹配,可以使用@RequestParam完成映射。

 @RequestMapping("/simpleParam")
    public String simpleParam(@RequestParam(name="name",required = false) String username,Integer age){
        //獲取請求參數
        System.out.println(username+":"+ age);
        return "ok";
    }

@RequestParam中的required屬性默認為true,代表該請求參數必須傳遞,如果不傳遞將報錯,如果該參數是可選中,可以將required屬性設置為false。

如下圖所示:

二、實體對象參數

規(guī)則:請求參數名與形參對象屬性名相同,即可直接通過pojo接收。

User實體類

public class User {
    private String name;
    private Integer age;
    private Address address;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public Integer getAge() {
        return age;
    }
    public void setAge(Integer age) {
        this.age = age;
    }
    public Address getAddress() {
        return address;
    }
    public void setAddress(Address address) {
        this.address = address;
    }
    @Override
    public String toString() {
        return "User{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", address=" + address +
                '}';
    }

Address實體類

public class Address {
    private String province;
    private String 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;
    }
    @Override
    public String toString() {
        return "Address{" +
                "province='" + province + '\'' +
                ", city='" + city + '\'' +
                '}';
    }

三、數組集合參數:

數組參數: 請求參數名與形參數組名稱相同且請求參數為多個,定義數組類形參即可接受參數。

 //數組集合參數
    @RequestMapping("/arrayParam")
    public String arrayParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "ok";
    }

集合參數: 請求參數名與形參集合名稱相同且請求參數為多個,@RequestParam綁定參數關系

 @RequestMapping("/listParam")
    public String listParam(@RequestParam List<String> hobby){
        System.out.println(hobby);
        return "ok";
    }

小結:

數組:請求參數名與形參中數組變量名相同,可以直接使用數組封裝

集合:請求參數名與形參中集合變量名相同,通過@RequestParam綁定參數關系

四、日期參數

日期參數: 使用@DateTimeFormat注解完成日期參數格式轉換

 //日期時間參數
    @RequestMapping("/dateParam")
    public String dateParam(@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") LocalDateTime updateTime){
        System.out.println(updateTime);
        return "ok";
    }

五、Json參數

Json參數: JSON數據鍵名與形參對象屬性名相同,定義POJO類型形參即可接收參數,需要使用@RequestBody標識

 //json參數
    @RequestMapping("/jsonParam")
    public String jsonParam(@RequestBody User user){
        System.out.println(user);
        return "ok";
    }

六、路徑參數

路徑參數: 通過請求url直接傳遞參數,使用{...}來標識該路徑參數,需要使用@PathVariable獲取路徑參數

 //路徑參數
    @RequestMapping("/path/{id}")
    public String pathParam(@PathVariable Integer id){
        System.out.println(id);
        return "ok";
    }
    @RequestMapping("/path/{id}/{name}")
    public String pathParam2(@PathVariable Integer id,@PathVariable String name){
        System.out.println(id+":"+name);
        return "ok";
    }

總結

簡單參數:

  • 定義方法形參,請求參數名與形參變量名一致
  • 如果不一致,通過@RequestParam手動映射

實體參數:

  • 請求參數名,與實體對象的屬性名一致,會自動接受封裝

數組集合參數:

  • 數組:請求參數名與數組名一致,直接封裝
  • 集合:請求參數名與集合名一致,@RequestParam綁定關系

日期參數:

  • @DateTimeFormat

JSON參數:

  • @RequestBody

路徑參數:

  • PathVariable

到此這篇關于springboot3請求參數種類及接口測試案例小結的文章就介紹到這了,更多相關springboot請求參數內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • java之Thread不捕獲異常默認處理邏輯

    java之Thread不捕獲異常默認處理邏輯

    這篇文章主要介紹了java之Thread不捕獲異常默認處理邏輯,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • SpringBoot實現微服務通信的多種方式

    SpringBoot實現微服務通信的多種方式

    微服務通信是指在分布式系統(tǒng)中,各個微服務之間進行數據交互和通信的過程,今天我們將探討在Spring Boot中實現微服務通信的多種方式,文章通過代碼示例給大家介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • Java?Map接口概述和常用方法詳解

    Java?Map接口概述和常用方法詳解

    現實生活中,我們常會看到這樣的一種集合:IP地址與主機名,身份證號與個人,系統(tǒng)用戶名與系統(tǒng)用戶對象等,這種一一對應的關系,就叫做映射。Java提供了專門的集合類用來存放這種對象關系的對象,即java.util.Map接口。本文就來聊聊Map接口概述和常用方法
    2022-10-10
  • SpringCloud Config分布式配置中心使用教程介紹

    SpringCloud Config分布式配置中心使用教程介紹

    springcloud config是一個解決分布式系統(tǒng)的配置管理方案。它包含了 client和server兩個部分,server端提供配置文件的存儲、以接口的形式將配置文件的內容提供出去,client端通過接口獲取數據、并依據此數據初始化自己的應用
    2022-12-12
  • Springboot整合GuavaCache緩存過程解析

    Springboot整合GuavaCache緩存過程解析

    這篇文章主要介紹了springboot整合GuavaCache緩存過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • Java+MySql圖片數據保存與讀取的具體實例

    Java+MySql圖片數據保存與讀取的具體實例

    之前一直沒有做過涉及到圖片存儲的應用,最近要做的東東涉及到了這個點,就做了一個小的例子算是對圖片存儲的初試吧
    2013-06-06
  • Java探索之Thread+IO文件的加密解密代碼實例

    Java探索之Thread+IO文件的加密解密代碼實例

    這篇文章主要介紹了Java探索之Thread+IO文件的加密解密代碼實例,具有一定參考價值,需要的朋友可以了解下。
    2017-10-10
  • SpringBoot使用@ControllerAdvice全局異常處理

    SpringBoot使用@ControllerAdvice全局異常處理

    這篇文章主要介紹了SpringBoot使用@ControllerAdvice全局異常處理,異常處理是非常重要的一部分,它可以幫助我們捕獲并處理應用程序中出現的異常情況,提高應用程序的健壯性和可靠性,需要的朋友可以參考下
    2023-07-07
  • MyBatis增刪改查快速上手

    MyBatis增刪改查快速上手

    這篇文章給大家講解的是MyBatis 這門技術的 CURD (增刪改查) ,非常的詳細與實用,有需要的小伙伴可以參考下
    2020-02-02
  • Spring?AOP利用切面實現日志保存的示例詳解

    Spring?AOP利用切面實現日志保存的示例詳解

    最近領導讓寫個用切面實現日志保存,經過調研和親測,以完美解決。在這里分享給大家,給有需要的碼友直接使用,希望對大家有所幫助
    2022-11-11

最新評論