0

我想在我的命令 dto 中集成 vavr 验证库,这样当命令 dto 从请求反序列化时,静态工厂的返回类型将为 Try 但杰克逊抛出以下错误:

类型定义错误:[简单类型,类 com.foo.command.FooCommand];嵌套异常是 com.fasterxml.jackson.databind.exc.InvalidDefinitionException:无法构造实例com.foo.command.FooCommand(没有创建者,如默认构造,存在):无法从对象值反序列化(没有基于委托或属性的创建者)

这是 FooCommand

@AllArgsConstructor(access = AccessLevel.PRIVATE)
public final class FooCommand {
    private String foo;
    private String bar;

    @JsonCreator
    public static Try<FooCommand> of(
            @JsonProperty("foo") String foo,
            @JsonProperty("bar") String bar
    ) {
        return Try.of(() -> {
            //Validate values
        });
    }
}

我使用的是spring 5,它被注释为将请求主体自动反序列化为控制器参数。这样的事情可能吗?提前致谢。

4

0 回答 0