反序列化错误 : 不能构造Dto的实例(尽管至少有一个Creator存在):不能从对象值反序列化。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了反序列化错误 : 不能构造Dto的实例(尽管至少有一个Creator存在):不能从对象值反序列化。相关的知识,希望对你有一定的参考价值。

不能构造DTO的实例(虽然至少有一个Creator存在)。

Cannot deserialize from Object value (no delegate- or property-based Creator)
 at [Source: (org.glassfish.jersey.message.internal.ReaderInterceptorExecutor$UnCloseableInputStream); line: 2, column: 2]. 

我试图在 corda 控制器中发布一个 JSON 对象。在 corda 3.3 时工作得很好,但升级到 4.1 后,它给出了以下错误信息

@JsonInclude(JsonInclude.Include.NON_NULL)
@CordaSerializable
public class testDto {


    @JsonProperty("registrationNumber")
    private final String registrationNumber;

    @ConstructorForDeserialization
    public testDto(String registrationNumber) {
        this.registrationNumber = registrationNumber;
    }

    public String getRegistrationNumber() {
        return registrationNumber;
    }
}
答案

由于序列化机制发生了变化,一定是版本升级不正确。

请按照链接中的步骤进行操作。https:/docs.corda.netdocscorda-os4.4app-upgrade-notes.html。

另外,请确保你升级到最新的Corda网络服务器。

以上是关于反序列化错误 : 不能构造Dto的实例(尽管至少有一个Creator存在):不能从对象值反序列化。的主要内容,如果未能解决你的问题,请参考以下文章

各种DTO类最好有 无参数的构造方法

JSON 解析错误:无法反序列化 START_ARRAY 令牌中的实例

使用 Spring Boot 2 和 Kotlin 进行 Jackson 反序列化,无法构造 `java.time.LocalDate` 的实例

没有像默认构造一样的创建者):不能从对象值反序列化(没有基于委托或属性的创建者

WCF反序列化如何在不调用构造函数的情况下实例化对象?

杰克逊错误:没有适合简单类的构造函数