使用Jackson将文件类型从Angular反序列化为Java

使用Jackson将文件类型从Angular反序列化为Java,java,angular,spring-boot,jackson,deserialization,Java,Angular,Spring Boot,Jackson,Deserialization,在使用SpringBoot和Angular开发的REST应用程序中,我需要向SpringBoot后端发送REST请求,以便将对象保存到数据库中 在前端,用户填写表单并提交。以下是创建对象的接口,以便将对象作为REST调用发送到后端 export interface TenderToPost{ id: number; name: string; description: string; images: File[]; referenceNumber: st

在使用SpringBoot和Angular开发的REST应用程序中,我需要向SpringBoot后端发送REST请求,以便将对象保存到数据库中

在前端,用户填写表单并提交。以下是创建对象的接口,以便将对象作为REST调用发送到后端

export interface TenderToPost{

    id: number;
    name: string;
    description: string;
    images: File[];
    referenceNumber: string;

}
后端应该将上述对象反序列化为Java中以下类的对象

public class TenderDTO implements Serializable{

    private long id;

    private String name;

    private String description;

    private List<MultipartFile> images;

    private String referenceNumber;

    // default constructor

    // geters and setters

}
CommonsMultipartFile是
MultipartFile
的一个实现。这就是我使用它的原因

现在我得到以下错误

无法构造的实例 org.springframework.web.multipart.commons.commons多部分文件:否 找到合适的构造函数,无法从对象值反序列化 (缺少默认构造函数或创建者,或者可能需要添加/启用 类型信息?)

我需要更改图像列表的设置器吗?还是我的整个方法都不正确


请告诉我如何更正此问题。

尝试使用
@JsonPropertyDescription
构造对象。

你找到解决办法了吗?@PankajSaboo我使用了一种稍微不同的方法。我从DTO中删除了文件,现在我把这个文件和DTO一起发送到一个地图中。在后端,我接受后端作为一个映射。(不是直接的,正如我在这个问题中提到的DTO)我做了这个改变,方法是:PU考虑10天,如果你解决了这个问题(即使是重构),发布一个解决方案作为答案是很有帮助的,目前遇到这种情况的人在没有指导的情况下可能无法找到答案。只是说
@JsonDeserialize(contentAs = CommonsMultipartFile.class)
private List<MultipartFile> images;