You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring Boot中itemId传参转null引发MissingServletRequestParameterException异常排查

解决Spring Boot中updateBasket方法itemId转null引发400错误的原因
  • 参数名称不匹配
    前端表单传递的参数名必须和控制器方法中@RequestParam指定的名称完全一致。比如前端用name="itemid"(全小写),后端控制器写@RequestParam("itemId") Long itemId(驼峰格式),就会导致Spring无法正确绑定参数,最终转为null。检查basket.html里的表单元素name属性,确保和控制器的参数名完全一致。

  • 参数类型不合法
    前端传递的itemId值如果不是有效的Long类型(比如空字符串、包含非数字字符),Spring无法完成类型转换,就会抛出该异常并将参数设为null。检查页面中itemId对应的输入框,是否在提交时被意外清空,或者传递了非数字内容。

  • 模板表达式错误
    如果用Thymeleaf渲染表单,比如使用th:field或th:param传递itemId,要确保表达式正确。比如th:value="${orderItem.itemId}"是否正确获取到实体类的itemId值,避免因表达式错误导致传递空值。

  • 实体类字段问题
    检查OrderItem实体类的itemId字段是否有正确的getter/setter方法,字段类型是否和控制器的Long类型兼容。如果实体类中itemId是Integer类型,而控制器用Long,虽然多数情况能转换,但如果前端传递的值超出Integer范围,也可能导致转换失败为null。

内容的提问来源于stack exchange,提问作者Hamza Siddiqui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 10:42:09