Джексон - @JsonCreator возвращает дженерики - PullRequest
0 голосов
/ 25 декабря 2018

Я хочу интегрировать библиотеку проверки vavr в мою команду dto таким образом, чтобы при десериализации команды 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
        });
    }
}

Я использую пружину 5, и она аннотирована для автоматической десериализации тела запроса в параметре контроллера.Возможно ли что-то подобное?Заранее спасибо.

...