form-data方式提交对象数组,java后台解析为对象集合

由于公司项目前后端交互接口参数传递方式全部是用form-data方式提交,在开发过程中遇到一个需求,就是通过从前端将对象数组以form-data方式提交到后台,然后后台在把它序列化成java对象。

在网络上找了很多种解决方案都没有解决问题
参考链接-4种方法让SpringMVC接收多个对象
参考链接-formdata传递参数_使用FormData格式在前后端传递数据

参考链接-传递Json字符串

最后我用的是前端将对象数组转换成一个Json字符串,然后Java后台使用String类型接受 ,再然后就是将Json字符串转换为Java对象了,步骤很简单

第一步
前端需要做的事情

var arrList =[{
      "imageJson":"sdfdsfds","aliyunVODId":"567576","vodUrl":"jjjjg"},{
      "imageJson":"sdfdsfds","aliyunVODId":"567576","vodUrl":"jjjjg"}] 

var parList= JSON.stringify(arrList );

第二步

控制层

    @ResponseBody
    @RequestMapping("/json-list")
    public String publishedWorks( String vodDtoList   ) {
      
  List<VodDto> list = JSONObject.parseArray(vodDtoList, VodDto.class);
            for (VodDto vodDto : list) {
      
                System.out.println(vodDto.toString());
            }
}

实体类

@Data
public class VodDto {
      
//视频封面图片
    private  Object imageJson;
    //视频编号
    private  Object aliyunVODId;
    //视频播放地址
    private  Object vodUrl;

}

你可能感兴趣的:(SpringBoot,java前后端交互,java,ajax)