当前位置: 首页 > 知识库问答 >
问题:

用Jackson实现文件类型从Angular到Java的反序列化

汲灿
2023-03-14

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

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

export interface TenderToPost{

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

}
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

}

我知道这个错误是因为我使用MultipartFile接口作为图像列表的类型。

我认为解决这个问题的办法是让Jackson知道应该使用注释将列表反序列化为什么类型。所以,我用了下面的

@JsonDeserialize(contentAs = CommonsMultipartFile.class)
private List<MultipartFile> images;

CommonsMultipartFile是MultiPartFile的实现。这就是我用它的原因。

共有1个答案

拓拔富
2023-03-14

尝试使用@JSONPropertyDescription构造对象。@JSONPropertyDescription示例

 类似资料:
  • 问题内容: 我正在尝试制作一个使用Jackson来反序列化POJO的类。 看起来像这样… 我对此实施有2个问题。 首先是我将类类型传递给方法,以便对象映射器知道应反序列化的类型。有使用泛型的更好方法吗? 同样在get方法中,我将一个从objectMapper返回的对象强制转换为T。这看起来特别讨厌,因为我必须在此处强制转换T,然后还必须从调用它的方法中强制转换对象类型。 我在该项目中使用了Robo

  • 问题内容: 我有一个json字符串,应该将其反序列化为以下类 我该怎么做?这是通常的方式 但是我怎么提到T代表什么呢? 问题答案: 你需要为使用的每种通用类型创建一个对象,并将其用于反序列化。例如

  • 问题内容: 如果我有这样的类结构: 还有另一种反序列化的方法吗?在父类上使用此注释: 我不想强迫我的API的客户包括反序列化一个子类。 杰克逊不是使用,而是提供了一种方法来注释子类并通过唯一属性将其与其他子类区分开来?在上面的示例中,这类似于“如果JSON对象将其反序列化为,如果它将其反序列化为”。 问题答案: 感觉像是应该使用的东西,但是我在文档中进行了选择,可以提供的任何属性似乎都不符合您所描

  • 我有一个json字符串,我应该将其反序列化为以下类 我怎么做?这是通常的方式 但我怎么说T代表什么呢?

  • 我有以下JSON: 这基本上是一个包含项集合的对象。 所以我做了一个类来反序列化: 我尝试添加,但没有成功。 怎么走?