Springboot上传文件的同时传递参数用对象接收的问题及解决方案
更新时间:2025年09月19日 10:20:45 作者:咖啡不甜不好喝
在Spring Boot中,若接口需同时接收文件和其他参数,应将文件用@RequestParam标注,其他参数封装对象并用@Validated校验,避免参数绑定冲突,本文给大家介绍Springboot上传文件的同时传递参数用对象接收,感兴趣的朋友跟随小编一起看看吧
在Springboot中,如果接口接收了文件,并且还接收了多个参数,为了对入参进行检验,将参数封装到对象,此时可能会导致问题,文件和参数不能同时被接收到,下面给出解决办法:
1、上传的文件参数用@RequestParam修饰
2、接收入参的对象,只用@Validated修饰,起参数校验的作用
代码如下:
@RestController
@RequestMapping("/punchIn")
@Slf4j
public class PunchInController {
@Autowired
private PunchInService punchInService;
/**
* 上传文件
*/
@PostMapping("/upload")
public BaseResult upload(@Validated ExcelUploadReq uploadReq, @RequestParam MultipartFile file) {
try {
punchInService.upload(uploadReq, file);
} catch (Exception ex) {
log.error(ex.getMessage(), ex);
return BaseResult.error("文件上传失败,请检查文件数据是否正确");
}
return BaseResult.success();
}
}Postman请求如下:


到此这篇关于Springboot上传文件的同时传递参数用对象接收的问题及解决方案的文章就介绍到这了,更多相关Springboot上传文件同时传递参数内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
解决struts2 拦截器修改request的parameters参数失败的问题
这篇文章主要介绍了解决struts2 拦截器修改request的parameters参数失败的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2022-03-03
SpringBoot ResponseEntity标识Http响应方式
这篇文章主要介绍了SpringBoot ResponseEntity标识Http响应方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2024-07-07


最新评论