Postman接口测试工具,提高SpringBoot开发效率

文章目录

🌺工具---postman

postman是一款功能强大的网页调试与发送网页HTTP请求的Chrome插件

⭐作用

常用于进行接口测试

🏳️‍🌈安装

我把安装包传到网盘里面了,点击exe文件就可以下载,需要的同学请自取

链接

🎈创建工作空间



点击CTRL+S进行保存

这样子即使我们关了,也能够访问

🎄简单参数

⭐原始方式

在原始的web程序中,获取请求参数,需要通过HttpServletRequest对象手动获取

🎈我们建立springboot项目,输入下面的代码

java 复制代码
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class RequestController  {
    //原始方法
    //设置注解,指定请求路径
    @RequestMapping("/simpleParam")
    public String simpleParam(HttpServletRequest request){
        //获取请求参数
        String name=request.getParameter("name");
        String ageStr=request.getParameter("age");

        int age=Integer.parseInt(ageStr);
        System.out.println(name+":"+age);
        return "OK";
    }
}

🎈运行

这时候我们打开postman(不要终止项目运行)

输入http://localhost:8080/simpleParam?*name=Tom* &age=10

然后点击send

⭐SpringBoot方式

只需要保证参数名和变量名相同,定义形参即可接收参数

java 复制代码
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class RequestController  {
    //原始方法
    //设置注解,指定请求路径
    @RequestMapping("/simpleParam")
    public String simpleParam(String name,Integer age){
        //SpringBoot方式
        System.out.println(name+":"+age);
        return "OK";
    }
}

🎄实体参数

🏳️‍🌈简单实体参数

请求参数名与形参对象属性名相同,定义POJO接收即可

⭐代码实现

创建类User.java

java 复制代码
public class User {
    private String name;
    private Integer age;

    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;
    }

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

创建类RequestController.Java

java 复制代码
import com.example.springbootwebreqresp.pojo.User;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


@RestController
public class RequestController  {

    //实体参数
    //设置注解,指定请求路径
    @RequestMapping("/simplePojo")
    public String simplePojo(User user){
        System.out.println(user);
        return "OK";
    }
}

🏳️‍🌈复杂实体参数

请求参数名与形参对象属性名相同,安装对象层次结构关系即可接收嵌套POJO属性参数

⭐代码实现

创建类User.java

java 复制代码
package com.example.springbootwebreqresp.pojo;

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.java

java 复制代码
package com.example.springbootwebreqresp.pojo;

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 + '\'' +
                '}';
    }
}

创建类RequestController.Java

java 复制代码
package com.example.springbootwebreqresp.controller;

import com.example.springbootwebreqresp.pojo.User;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


    @RequestMapping("/complexPojo")
    public String complexPojo(User user){
        System.out.println(user);
        return "OK";
    }
}

🎄数组集合参数

⭐使用数组来接收

请求参数名与形参数组名相同且请求参数为多个,定义数组类型形参即可接收参数

java 复制代码
package com.example.springbootwebreqresp.controller;

import com.example.springbootwebreqresp.pojo.User;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.lang.reflect.Array;
import java.util.Arrays;


@RestController
public class RequestController  {
    @RequestMapping("/arrayParam")
    public String arrayParam(String[] hobby){
        System.out.println(Arrays.toString(hobby));
        return "OK";
    }
}

⭐使用集合来接收

请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系

java 复制代码
package com.example.springbootwebreqresp.controller;

import com.example.springbootwebreqresp.pojo.User;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.List;


@RestController
public class RequestController  {
    @RequestMapping("/arrayParam")
    public String arrayParam(@RequestParam List<String>hobby){
        System.out.println(hobby);
        return "OK";
    }
}

🎆小结

🎄日期参数

使用@DateTimeFormat注解完成日期参数格式转换

🎄路径参数

🥰总结


相关推荐
万亿少女的梦1682 小时前
基于SpringBoot的考研学习交流系统设计与开发
spring boot·mysql·vue·系统设计·论坛系统
标致的自行车2 小时前
Selenium 爬虫固定开头:
爬虫·selenium·测试工具
二宝哥5 小时前
创建Gradle多模块SpringBoot项目
java·spring boot·后端
杨运交6 小时前
[044][Web模块]基于 Google Authenticator 的 TOTP 双因素认证框架设计与实现
spring boot
二宝哥6 小时前
springboot项目使用Gradle工具实现依赖版本控制
java·spring boot·后端·gradle·版本
安然无虞6 小时前
Python自动化测试·Selenium操控元素的方法
python·selenium·测试工具
卓怡学长7 小时前
w273基于springboot的智能笔记的开发与应用
java·spring boot·spring·intellij-idea
Data_Journal8 小时前
使用 Selenium 进行网页抓取:分步指南
selenium·测试工具·microsoft
搬砖柯8 小时前
系列12-接口压测怎么做成平台能力?自研 httpx 引擎、分布式 Worker 与 Locust 选型对照
分布式·测试工具·性能优化·开源·自动化·httpx
Kyrie_Li18 小时前
Spring Boot Kafka 生产级配置全解析:从入门到精通
spring boot·后端·kafka