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

Spring Boot 3.2.4中Multipart请求参数为空问题求助

Spring Boot 3.2.4升级后Multipart请求参数为空的解决办法

针对Spring Boot从3.1.0升级到3.2.4后,multipartParameterNames为空导致@RequestParam获取值为null的问题,可按以下方案排查解决:

  • 移除@EnableWebMvc注解
    如果你的Web配置类上标注了@EnableWebMvc,它会覆盖Spring Boot的Web自动配置逻辑,包括Multipart解析器的默认配置。移除该注解,让Spring Boot自动配置StandardServletMultipartResolver。

  • 调整Multipart配置参数
    在application.properties或application.yml中确认并修正Multipart相关配置:

    # 确保Multipart功能开启
    spring.servlet.multipart.enabled=true
    # 关闭延迟解析(避免参数获取时机异常)
    spring.servlet.multipart.resolve-lazily=false
    # 根据业务需求设置文件大小限制
    spring.servlet.multipart.max-file-size=10MB
    spring.servlet.multipart.max-request-size=10MB
    
  • 改用@RequestPart注解绑定参数
    对于multipart/form-data类型的请求,Spring官方更推荐使用@RequestPart来绑定普通参数和文件,尤其是混合参数场景。修改控制器代码如下:

    @RequestPart(value = "transactionId", required = false) UUID transactionId,
    @RequestPart(value = "file", required = false) final MultipartFile file
    
  • 排查自定义MultipartResolver
    如果项目中存在自定义的MultipartResolver Bean,检查其配置是否正确。若无需自定义实现,直接删除该Bean,使用Spring Boot自动配置的默认实例即可。

  • 验证请求格式与参数名
    确认前端发送的请求Content-Type为multipart/form-data,且transactionId、file的参数名与后端注解中的名称完全一致(大小写敏感)。可通过Postman、Chrome开发者工具等工具查看请求的Form Data部分是否正确传递。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 21:49:59