在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请求如下:



被折叠的 条评论
为什么被折叠?



