我在开发SpringBoot控制器时发现了这种奇怪的行为。
pom.xml中的SpringBoot版本
<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);
}
}
如果我发布这样的帖子来发送值
在我的后端代码中,当多位文件完全错误时,@ RequestParam会在春天到达并处理数据时
您可以看到在发布过程中显示空格字符的label的值在我的控制器中是重复的。 如果我从控制器中删除MultipartFile,则不会发生
更新
我已经看到,签名中的其他RequestParam将被放置在requestMultipartParam中
分析httpServletRequest这就是我所拥有的
如您所见,该值是重复的。