如何排除 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();