现在的业务情况:
后台本身需要接收一个
@RequestBody PostExpress_I req 的对象
@Data public class PostExpress_I { @NotNull(message = "产品标识不能为空") private Integer saleProductId; private String remark; private String memberId; private List<Integer> listProductId; }
但现在需要在这个接口的基础上增加上传图片的功能
第一想法把接受图片的参数放在对象里,接受报错
content type‘multipart/form-data ...‘not support
这是因为请求过来的参数是content-type:multipart/form-data,是表单形式提交过来的,所以问题出现在形参上,去掉形参上的注解即可完成(只需要以springmvc的收参形式就OK了)
然后去掉了RequestBody,直接接受参数,但是接收不到listProductId这个集合报错
No primary or default constructor found for interface java.util.List
有时候我们前端会传一些 list 集合的参数,如果 list 集合的存储的类型是对象,通过 json 就可以封装,后端使用注解 @RequestBody 可以接收。如果是想传递通过装箱后的基本类型的 list ,需要使用到注解 @RequestParam。
后端没有使用 @RequestParam
最后接受参数形式修改为:
MultipartFile[] images,String memberId,String remark,@RequestParam("listProductId") List<Integer> listProductId
成功执行