Java 8 dropwizard中的反序列化问题,无法转换ImmutableList<;字符串>;到字符串列表
我正在使用dropwizard 1.1.0和Java8功能。我也在使用Immutables包。当我试图将利润中心列表(字符串列表)从JSON转换为java等价物时,我面临一个反序列化问题 错误 找不到非具体集合类型的反序列化程序 [收集类型;类com.google.common.collect.ImmutableList, 包含[简单类型,类java.lang.String]] 不可变Java类Java 8 dropwizard中的反序列化问题,无法转换ImmutableList<;字符串>;到字符串列表,java-8,dropwizard,immutables-library,Java 8,Dropwizard,Immutables Library,我正在使用dropwizard 1.1.0和Java8功能。我也在使用Immutables包。当我试图将利润中心列表(字符串列表)从JSON转换为java等价物时,我面临一个反序列化问题 错误 找不到非具体集合类型的反序列化程序 [收集类型;类com.google.common.collect.ImmutableList, 包含[简单类型,类java.lang.String]] 不可变Java类 @Value.Immutable @JsonSerialize(as = ImmutableReco
@Value.Immutable
@JsonSerialize(as = ImmutableReconciliationInputDTO.class)
@JsonDeserialize(as = ImmutableReconciliationInputDTO.class)
public interface ReconciliationInputDTO extends Serializable {
@JsonProperty("date")
@JsonDeserialize(using = LocalDateDeserializer.class)
@JsonSerialize(using = LocalDateSerializer.class)
LocalDate asOfDate();
@JsonProperty("label")
String label();
@JsonProperty("entityId")
String entityId();
@JsonProperty("entityName")
String entityName();
@JsonProperty("departments")
List<String> departments();
在我的POM.xml中,我将以下内容设置为我的依赖项
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-parameter-names</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.8.7</version>
</dependency>
com.fasterxml.jackson.module
jackson模块参数名
2.8.7
com.fasterxml.jackson.datatype
jackson-datatype-jdk8
2.8.7
com.fasterxml.jackson.datatype
jackson-datatype-jsr310
2.8.7
AFAIK您还应该将番石榴
作为jackson模块。在这里:
他们还举了一个如何整合的例子:
registerModule(new GuavaModule())
我之前已经添加了guava模块,并且在初始化阶段在dropwizard应用程序中注册了它。但这没有帮助。我再次尝试发布你的推荐信,但我遇到了同样的问题。我想Jackson无法将不可变列表转换为相应的Java集合。不确定如何修复此问题。@alice:您确定您的应用程序只包含一个
ObjectMapper
实例吗?是否您实际接收到的是与您配置的不同的?
<dependency>
<groupId>com.fasterxml.jackson.module</groupId>
<artifactId>jackson-module-parameter-names</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jdk8</artifactId>
<version>2.8.7</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.datatype</groupId>
<artifactId>jackson-datatype-jsr310</artifactId>
<version>2.8.7</version>
</dependency>
registerModule(new GuavaModule())