假设我有以下课程:
public class A {
private String id;
private List<B> related;
}
public class B {
private String id;
private String name;
}
public class ADTO {
private String id;
private List<BDTO> relations;
}
public class BDTO {
private String identificator;
private String relatedName;
}
@Mapper
public interface MyMapper {
@Mappings({ @Mapping(source = "related", target = "relations") })
ADTO mapperA(A obj);
}
尝试这个(未经测试但应该正常工作)
当映射列表时,您应该为class元素和列表创建一个映射,以映射列表的所有元素)
java prettyprint-override">@Mapper
public interface MyMapper {
@Mappings({ @Mapping(source = "related", target = "relations") })
ADTO mapperA(A obj);
@Mappings(
{ @Mapping(source = "id", target = "identificator") },
{ @Mapping(source = "name", target = "relatedName") })
BDTO bDTOMapping(B b);
List<BDTO> bDTOListMapping(List<B> bList);
}
假设我有这样的映射: 现在,我需要将子列表映射到子列表,但它们都有相同的父对象。我希望这样做: 但不管用,有机会做吗?
下面是我的DTO。 源DTO 目标DTO
给定: 我想把所有的车都标出来。将轮胎分为单独的轮胎板。我知道我可以做一个
我有Object1和Object2。现在,我想映射对象3,属性来自1 比方说,我有两个目标: 现在,有了这些,我想把它映射进去 哪里,first_name 现在,我的问题是,怎么做? 然而,目前,我正在这样做 但是,在这里,我必须在addressToView()中手动编写映射。 因此,有没有办法避免这种情况? 或者,处理此类情况的首选方式是什么?
我得到和错误当我执行 错误是: 未处理的异常:com.google.gson.JsonSyntaxException:java.lang.IllegalStateException:预期BEGIN_OBJECT但BEGIN_ARRAY在第1行第52列路径$. f 这是 json 响应 我有这个班级 和这个其他