如何排除 Orika bean 映射器中的字段?
How to exclude field in Orika bean mapper?
我想在从 bean 映射到 HashMap
的过程中排除一些字段。
Orika 定义:
static {
final MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
mapperFactory.classMap(MyReq.class, Map.class)
.exclude("myproperty")
.byDefault()
.register();
MAPPER = mapperFactory.getMapperFacade();
}
Bean 定义:
public class MyReq {
private String myproperty;
}
用法:
MyReq req = new MyReq;
Map map = MAPPER.map(req, Map.class);
结果:Map
包含排除的myproperty
字段!为什么?
我也遇到过这个问题,但仅限于 Map
个实例(当您定义的 class 是目标对象时它工作正常)。但是,有一个解决方法,因为 Orika 有多种定义映射规则的方法,如下所示:
mapperFactory.classMap(MyReq.class, Map.class)
.fieldMap("myproperty").exclude().add()
.byDefault()
.register();
我想在从 bean 映射到 HashMap
的过程中排除一些字段。
Orika 定义:
static {
final MapperFactory mapperFactory = new DefaultMapperFactory.Builder().build();
mapperFactory.classMap(MyReq.class, Map.class)
.exclude("myproperty")
.byDefault()
.register();
MAPPER = mapperFactory.getMapperFacade();
}
Bean 定义:
public class MyReq {
private String myproperty;
}
用法:
MyReq req = new MyReq;
Map map = MAPPER.map(req, Map.class);
结果:Map
包含排除的myproperty
字段!为什么?
我也遇到过这个问题,但仅限于 Map
个实例(当您定义的 class 是目标对象时它工作正常)。但是,有一个解决方法,因为 Orika 有多种定义映射规则的方法,如下所示:
mapperFactory.classMap(MyReq.class, Map.class)
.fieldMap("myproperty").exclude().add()
.byDefault()
.register();