小编ljs*_*ljs的帖子

Mapstruct-为映射属性找到模糊的映射方法

我正在使用mapstruct从一个DTO映射到另一个。我有多个默认方法,但是其中两个具有返回值String且使用与输入参数相同的类的默认方法给我“使用Java Mapstruct的模糊映射方法”错误。我在这里添加代码的相关部分:

@Mappings({
     @Mapping(source = "programInstance", target = "title", qualifiedByName = "title"),
     @Mapping(source = "programInstance", target = "seriesName", qualifiedByName = "seriesName"),
     @Mapping(source = "programInstance", target = "season", qualifiedByName = "season"),
     @Mapping(source = "programInstance", target = "epNumber", qualifiedByName = "epNumber"),
 })
 DTO1 mapDTOs (DTO2 dto2);

  @Named("title")
default String mapTitle(Program programInstance) {
    Optional<String> title = Utils.getObject(() -> programInstance.getTitle().getDescriptions().get(0).getValue());
    if (title.isPresent())
        return title.get();
    return null;
}
@Named("seriesName")
default String mapSeriesName(Program programInstance) {
    Optional<String> seriesName = Utils.getObject(() -> programInstance.get(0).getProgram().getTitle().getDescriptions().get(0).getValue());
    if (seriesName.isPresent())
        return seriesName.get();
    return …
Run Code Online (Sandbox Code Playgroud)

java mapstruct

5
推荐指数
1
解决办法
3842
查看次数

标签 统计

java ×1

mapstruct ×1