Я пытаюсь сопоставить источник и цель.
@Data
@Builder
@Getter
public class Source {
public String str3;
}
@Data
@Builder
@Getter
public class Target {
public String str1;
public String str2;
public AnotherObj anotherObj;
}
@Data
@Builder
@Getter
public class AnotherObj {
public String str3;
public String str4;
}
У меня есть такой картограф
@Mapping(target = "anotherObj", source = "request", qualifiedByName = "mapAnotherObjToSource")
@Mapping(target = "anotherObj.str4", source = "str4")
Target convert(Source request, String str4);
Но когда я это делаю, я получаю такую ошибку:
Java: No read accessor found for property anotherObj in target type.
У меня есть метод получения, чего может не хватать?
Я попробовал использовать @AfterMapping вот так >
@AfterMapping
default void handleStr4(@MappingTarget Target target, Source source, String str4) {
if (target.getAnotherObj() != null) {
target.getCardMetadataInfo().setStr4(str4);
}
}
Подробнее здесь: https://stackoverflow.com/questions/781 ... nt-sources