在将 moddelmapper 与类型映射一起使用时,如何解决不兼容的类型(不可转换)

How can I solve the incompatible types (not convertible) while using the moddelmapper with a typemap

我正在尝试将我的实体映射到我的 DTO。对于我的知识,我正在尝试不同的方法。 我成功地使用了一个带有隐式映射的映射,在使用带有配置方法的 PropertyMap 时也是一个显式映射。

现在我正在尝试使用 TypeMap 进行显式映射。最后一个我没法上班。

连同从Modelmapper入门,我以本帖中的答案为例,

static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){
    ModelMapper modelMapper = new ModelMapper();
    TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);

    typeMap.addMappings(mapping -> {
        mapping.map(modelB.getId(), ResponseB::setId);
        mapping.map(modelB.getBankaccountName(), ResponseB::setB);
        mapping.map(modelB.isActive(), ResponseB::setActive);
    });

    return modelMapper.map(modelB, ResponseB.class);
}

上面的代码块是我的代码示例,但它不起作用。

如何使这个示例与 TypeMap 一起工作?

通过不断尝试,我自己弄明白了。

我不得不使用 class 而不是 mapping.map

中的对象
static ResponseB convertBEntityToDtoExplicitTypeMap(ModelB modelB){
    ModelMapper modelMapper = new ModelMapper();
    TypeMap<ModelB, ResponseB> typeMap = modelMapper.createTypeMap(ModelB.class, ResponseB.class);

    typeMap.addMappings(mapping -> {
        mapping.map(ModelB::getId, ResponseB::setId);
        mapping.map(ModelB::getBankaccountName, ResponseB::setB);
        mapping.map(ModelB::isActive, ResponseB::setActive);
    });

    return modelMapper.map(modelB, ResponseB.class);
}