【踩坑记录】springboot 报错 MissingPathVariableException

当SpringBoot在2.3.x-2.4.1版本中遇到不存在的数据库ID时,会引发MissingPathVariableException。问题源于SpringData在处理null返回值时,由于@PathVariable的required默认为true。解决方案包括:设置@PathVariable的required属性为false,或者更改SpringBoot版本至2.2.x,或者将接口入参改为Optional<TeacherDO>。
摘要由CSDN通过智能技术生成

1. 背景

有个接口,前端传的是id,后台由于用了Springdata,会自动根据id去TeacherDO实体对应的Repository(实际调的是SimpleJpaRepository)中调用findById方法,并将查询到的数据库结果转成TeacherDO,并作为接口的传入参数。中间过程都是由SpringData 代办。

TeacherDO 实体部分字段内容
在这里插入图片描述

正常情况效果图
前端请求
后台接收到的入参是springdata根据id查库后的结果

2. 问题描述

之前使用该功能都没有问题,直到昨晚使用该功能时,传入了一个DB中不存在的id,这时候出了问题。

2.1 问题表现

2.1.1前台表现

前台错误表现

2.1.2后台

控制台没有抛出异常堆栈࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值