ошибка десерилизации, подскажите плиз
вот это
Status.builder().type("NCheck").result(errors.isEmpty() ? "success" : "failure").time(new Date()).build()
Класс Status такой:
@Data
@Builder
public class Status implements Serializable {
private String type;
private String result;
private Date time;
}
Получаемая ошибка такая
Message: 'Cannot deserialize object in variable 'status': SPIN/JACKSON-JSON-01006 Cannot deserialize '{\"type\":\"N...' to java type '[simple type, class ru.com.dto.Status]''"
@Jacksonized?
В jackson type это специальное поле которое указывает на класс дто
выше предлагают использовать @Jacksonized, как думаете должно помочь?
Нет, перепутал, поле будет называться - @type. Я про вот это говорил (https://stackoverflow.com/questions/30362446/deserialize-json-with-jackson-into-polymorphic-types-a-complete-example-is-giv) Но это не причина
А json какой?
да никакой, это билдер он сам должен создать небольшой json
Status.builder().type("NCheck").result(errors.isEmpty() ? "success" : "failure").time(new Date()).build() так вот я даю перменные ему, на выходе должен быть json я полагаю
на выходе будет java class, что вы потом делаете с ним?
я потом так обращаюсь ${execution.getVariable("status").getResult().equals("failure")} там у нас комунда стоит
билдер аннотация по сути показывает ломбоку что надо сгенерить класс-делегат для проброса пропертей в builder-style, никакого отношения к json-у не имеет
понял, буду знать, спасибо
так а при чём здесь json... это вообще что за код
а в exectution что хранится? успешно положилось туда?
execution.setVariable("status", Status.builder().type("NCheck").result(errors.isEmpty() ? "success" : "failure").time(new Date()).build()); в кокпите смотрел, ничего не положило
тут нужно уже либо дебажить, либо под капот комунды смотреть, как она сериализует и почему не сериализовало
Message: 'Cannot deserialize object in variable 'status' Это значит, что уже не смогли распарсить json
Нашел в кокпите статус {"type":"NDS0RecCheck","result":"success","time":"2021-07-01T15:51:16.840+0300"}
не советую такое делать лучше выполнять проверки отдельно в делегате а потом в переменные класть флажок флажок проверять на гейтвеях
у меня эта проверка так и стоит на гетвее
на гейтвее лучше проверять ${flag}, а делегатом ранее заполнять этот флажок
Обсуждают сегодня