SpringBoot @RequestParam MultipartFile将在字符串连接中转换@RequestParam字符串

时间:2019-04-09 14:54:32

标签: string spring-boot multipartform-data spring-restcontroller spring-rest

我在开发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);
    }
 }

如果我发布这样的帖子来发送值

post to controller

在我的后端代码中,当多位文件完全错误时,@ RequestParam会在春天到达并处理数据时

back end debugging

您可以看到在发布过程中显示空格字符的label的值在我的控制器中是重复的。 如果我从控制器中删除MultipartFile,则不会发生

更新

我已经看到,签名中的其他RequestParam将被放置在requestMultipartParam中

分析httpServletRequest这就是我所拥有的

http servlet request param map

如您所见,该值是重复的。

0 个答案:

没有答案