文章目录
🌺工具---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注解完成日期参数格式转换
🎄路径参数
🥰总结