Mapstruct: qualified by name 空指针异常

问题描述 投票:0回答:0

评估时,使用get error方法匹配字段:

java.lang.NullPointerException:无法读取数组长度,因为“src”为空 在 java.base/java.util.Base64$Encoder.encode(Base64.java:291)~[na:na] 在 java.base/java.util.Base64$Encoder.encodeToString(Base64.java:345)~[na:na] 在 fqw.application.mapper.ResponseMapper.dataToBase64(ResponseMapper.java:31)~[main/:na] .....

映射器:

@Mapper
public interface ResponseMapper {

    ResponseMapper INSTANCE = Mappers.getMapper(ResponseMapper.class);

    @Mapping(target = "taskId", source = "id")
    @Mapping(target = "imageName", source = "imageMetadata.imageName")
    @Mapping(target = "imageData", source = "loadedImage.data",qualifiedByName = "dataToBase64")
    @Mapping(target = "imageResultData", source = "resultImage.data",qualifiedByName = "dataToBase64")
    @Mapping(target = "description", source = "imageMetadata.description")
    @Mapping(target = "contentType", source = "imageMetadata.contentType")
    ResponseDTO taskToResponseDTO(Task task);


    @Named("dataToBase64")
    default String dataToBase64(byte[] data){
        return Base64.getEncoder().encodeToString(data);
    }
}

可能是什么问题?

java mapstruct mapper
© www.soinside.com 2019 - 2024. All rights reserved.