我正在尝试使用一个API,使用Retrofit和Jackson反序列化。我正在得到onFailure错误No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
。
发布于 2018-11-07 15:34:24
原因:发生此错误是因为杰克逊库不知道如何创建没有空构造函数的模型,而模型包含的构造函数没有用@JsonProperty("field_name")
对参数进行注释。默认情况下,如果没有向类添加构造函数,java编译器将创建空构造函数。
解决方案:向模型中添加一个空构造函数或用@JsonProperty("field_name")
注释构造函数参数
如果您使用Kotlin数据类,那么也可以使用@JsonProperty("field_name")
进行注释或将jackson模块kotlin注册到ObjectMapper
。
您可以使用http://www.jsonschema2pojo.org/创建模型。
发布于 2019-07-07 16:22:46
我在这里寻找这个错误:
No Creators, like default construct, exist): cannot deserialize from Object value (no delegate- or property-based Creator
与Retrofit无关,但是如果您正在使用Jackson,则通过向抛出错误的类添加默认构造函数来解决此错误。这里有更多信息:https://www.baeldung.com/jackson-exception
发布于 2019-12-10 21:35:43
如果在POJO模型上使用Lombok,请确保有以下注释:
@Getter
@Builder
@NoArgsConstructor
@AllArgsConstructor
它可能会有所不同,但要确保@Getter
和,特别是
https://stackoverflow.com/questions/53191468
复制相似问题