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

求助:SpringBoot 2.0.3中@RequestParam与MultipartFile共存参数重复问题

Spring Boot 2.0.3.RELEASE Multipart请求中非文件@RequestParam参数值重复问题

我在使用Spring Boot 2.0.3.RELEASE开发控制器时遇到了一个奇怪的Multipart请求参数异常,下面是问题的详细情况:

问题现象

当发送包含空格的label参数的POST请求(Multipart类型)到控制器时,后端Spring处理后,除MultipartFile之外的@RequestParam参数值出现了重复的情况。但只要移除控制器方法中的MultipartFile参数,这个异常现象就会消失。

环境配置

  • 使用的Spring Boot版本:2.0.3.RELEASE
  • pom.xml中的父依赖配置如下:
<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.3.RELEASE</version>
    <relativePath/> <!-- lookup parent from repository -->
</parent>

控制器代码

对应的控制器实现代码:

@Controller
@RequestMapping("/route")
@Slf4j
public class Api {
    @PostMapping
    public ResponseEntity<Void> createFromCsv(@RequestParam("label") String label, @RequestParam MultipartFile csvFile) {
        log.debug("label {}", label);
        return new ResponseEntity<>(HttpStatus.OK);
    }
}

排查更新

后续通过分析HttpServletRequest发现,控制器方法签名中的额外@RequestParam参数会被存入requestMultipartParam中,并且参数值确实存在重复的情况。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:50:53