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

Spring Boot上传文件附加数据映射失败,请求排查原因

解决Spring Boot文件上传时@RequestPart参数映射失败的问题

以下是针对你遇到的MissingServletRequestPartException异常的具体排查和解决方案:

  • 检查请求参数名称的一致性
    异常信息中明确提示Required request part 'uploadFileRequest ' is not present(注意参数名末尾带有空格),请确认Postman中添加的表单Part名称是uploadFileRequest(无空格),与Controller中@RequestPart注解的参数名完全匹配,避免出现空格、大小写错误等问题。

  • 为JSON参数设置正确的Content-Type
    在Postman中,对应uploadFileRequest的表单项,必须将Content-Type设置为application/json,而非默认的text/plain。操作方式:点击该Part右侧的下拉菜单,选择application/json,再在内容框中输入合法的JSON内容(例如{"title":"测试标题","text":"测试内容"})。

  • 修正Controller的请求类型配置
    你的Controller同时指定了APPLICATION_FORM_URLENCODED_VALUE和MULTIPART_FORM_DATA_VALUE,但普通表单编码(application/x-www-form-urlencoded)不支持文件上传,建议仅保留MULTIPART_FORM_DATA_VALUE以避免冲突:

    @PostMapping(value = "file", consumes = MediaType.MULTIPART_FORM_DATA_VALUE)
    public void uploadRecipe(@RequestPart MultipartFile multipartFile, @RequestPart UploadFileRequest uploadFileRequest ) {
     ...
    }
    
  • 确认实体类的序列化有效性
    确保UploadFileRequest类拥有完整的getter和setter方法,Spring Boot默认依赖Jackson进行JSON序列化,只要项目引入了spring-boot-starter-web依赖(已包含Jackson),就能自动完成属性映射;若缺少getter/setter,Spring无法通过反射读写属性,会导致映射失败。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 20:48:22