get方式下,同一个请求参数集合,同时给多个 POJO 入参做属性填充

1、定义两个实体BusPlaceBo、PageQuery

java 复制代码
@Data
public class BusPlaceBo {
    @NotNull(message = "ID不能为空", groups = { EditGroup.class })
    private Long id;
    @NotBlank(message = "地点名不能为空", groups = { AddGroup.class, EditGroup.class })
    private String name;
    private String address;
    private String remarks;
    private String createUser;
    private String updateUser;
}
java 复制代码
@Data
public class PageQuery implements Serializable {
    private Integer pageSize;
    private Integer pageNum;
    private String orderByColumn;
    private String isAsc;
}

2、定义controller

java 复制代码
	@GetMapping("/list")
    public Result<BusPlaceVo> list(BusPlaceBo bo, PageQuery pageQuery) {
        System.out.println(bo);
        System.out.println(pageQuery);
        return busPlaceService.queryPageList(bo);
    }

3、测试

打印结果

4、分析

GET 接口!@GetMapping("/list"),不是 @RequestBody 接收的 JSON ,前端是把 json 拆开变成 url 查询参数传递:

/business/place/list?pageNum=1&pageSize=10&name=急诊科11&address=1楼

SpringMVC 遍历所有请求参数:

  • pageNum → 找到 PageQuery.pageNum,赋值进去
  • pageSize → 找到 PageQuery.pageSize,赋值进去
  • name → 找到 BusPlaceBo.name,赋值进去
  • address → 找到 BusPlaceBo.address,赋值进去

同一个请求参数集合,会同时给多个 POJO 入参做属性填充,这个逻辑只适用于 GET,没有 @RequestBody

如果是@PostMapping + @RequestBody,只能有一个实体对象接收整个 json,不能拆分多个对象

相关推荐
_Evan_Yao8 小时前
Redis 缓存穿透、击穿、雪崩,一次讲清!
java·spring·mybatis
梓豪csd8 小时前
消息订阅中心:谁该收到哪条通知
java·开发语言·人工智能·低代码·自动化·1024程序员节
秋饼8 小时前
Spring AI 2.1 Message Parts 深度实战:推理签名回放与跨轮记忆持久化的源码级落地
java·ai·技术分享·后端开发
thefool1122669 小时前
TCP 1
java·1024程序员节
paopaokaka_luck11 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
金銀銅鐵11 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手11 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
paopaokaka_luck13 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_322414280413 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
考虑考虑14 小时前
JDK26的JEP 500属性
java·后端·java ee