2.3 SpringBoot Web请求响应 数组集合参数:
学习视频链接:Day05-04. 请求响应-请求-数组集合参数_哔哩哔哩_bilibili
数组参数:请求参数名与形参数组名称相同且请求参数为多个,定义数组类型形参即可接收参数

传递参数的url举例: http://localhost:8080/arrayParam?hobby=sing&hobby=football
集合参数:请求参数名与形参集合名称相同且请求参数为多个,@RequestParam绑定参数关系

传递参数的url举例: http://localhost:8080/listParam?hobby=sing&hobby=football
2.4 SpringBoot Web请求响应 日期参数和json参数:
学习视频链接:Day05-05. 请求响应-请求-日期参数&json参数_哔哩哔哩_bilibili
日期参数:使用@DateTimeFormat注解完成日期参数格式转换

传递参数的url举例: http://localhost:8080/dateParam?2026-04-15 13:00:00
JSON参数:JSON数据键名与形参对象属性名相同,定义POJO类型形参即可接收参数,需要使用@RequestBody标识

测试传递对象设置如下:

由于json格式比较复杂,我们通常选择Post方式而非像前面选择Get方式并且修改url来进行传参。
2.5 SpringBoot Web请求响应 路径参数:
学习视频链接:Day05-06. 请求响应-请求-路径参数_哔哩哔哩_bilibili
路径参数:通过请求URL直接传递参数,使用[...]来标识该路径参数,需要使用@PathVariable获取路径参数
传递参数的url举例: http://localhost:8080/path/1(当id=1时)
传递多个路径参数的举例:

传递参数的url举例: http://localhost:8080/path/1/Tom(当id=1,name=Tom时)
2.6 SpringBoot Web请求响应 @ResponseBody和统一响应结果:
学习视频链接:Day05-07. 请求响应-响应-@ResponseBody&统一响应结果_哔哩哔哩_bilibili
@ResponseBody

1.返回值是字符串:
java
@RequestMapping("/hello")
public String hello() {
System.out.println("hello world");
return "Hello World";
}
结果:

2.返回值是对象:
java
@RequestMapping("/getAddr")
public Address getAddr() {
Address address = new Address();
address.setProvince("zhejiang");
address.setCity("hangzhou");
System.out.println(address);
return address;
}
结果:

3.返回值是集合:
java
@RequestMapping("/listAddr")
public List<Address> listAddr() {
List<Address> list = new ArrayList<>();
Address address1 = new Address();
address1.setProvince("zhejiang");
address1.setCity("hangzhou");
Address address2 = new Address();
address2.setProvince("jiangsu");
address2.setCity("nanjing");
System.out.println(address1);
System.out.println(address2);
list.add(address1);
list.add(address2);
return list;
}
结果:

统一响应结果:
通过右图的result实体对象接收响应,让项目管理维护更加便利,

result.java完整内容如下:
java
package com.example.springboot_web.pojo;
public class Result {
private int code;
private String msg;
private Object data;
public Result() {
}
public Result(int code, String msg, Object data) {
this.code = code;
this.msg = msg;
this.data = data;
}
public int getCode() {return code;}
public void setCode(int code) {
this.code = code;
}
public String getMsg() {return msg;}
public void setMsg(String msg) {
this.msg = msg;
}
public Object getData() {
return data;
}
public void setData(Object data) {this.data = data;
}
public static Result success(Object data) {
return new Result(1, "success", data);
}
public static Result success() {
return new Result(1, "success",null);
}
public static Result error(String msg) {
return new Result(0, msg,null);
}
@Override
public String toString() {
return "Result{" +
"data=" + data +
", msg='" + msg + '\'' +
", code=" + code +
'}';
}
}
统一响应结果举例(controller代码和结果截图):
java
@RequestMapping("/hello")
public Result hello() {
System.out.println("hello world");
return Result.success("hello world!");
}
