java中基于输入值的spring boot动态值
我有一节课,如下所示
public class ResponseData {
private Long entityId;
private String type;
private List<String> value;
}
问题陈述:
我正在以JSON格式向调用者发送响应数据列表
类型变量的可能值为“字符串”、“整数”、“日期”、“时间”和“引用”
我的要求是,若类型的值是“整数”或“引用”,那个么值字段的类型应该是整数列表,其余类型字段的所有值,值字段的类型应该是字符串列表
# 1 楼答案
可以将参数化类与自定义反序列化器一起使用。这是一个工作代码
ResponseData<T>
:以列表的元素类型为参数的参数化类DS
:一个定制的Jackson反序列化程序,它知道如何映射到ResponseData<T>
(为了方便起见,我使用了Lombok注释。)
请注意,
ResponseData<T>
已经用@JsonDeserialize
注释,以指示反序列化到类的对象中应该使用此反序列化器。其余部分应该不言自明