Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MapStruct protobuf列表到Pojo映射_Mapstruct_Grpc Java_Protobuf Java - Fatal编程技术网

MapStruct protobuf列表到Pojo映射

MapStruct protobuf列表到Pojo映射,mapstruct,grpc-java,protobuf-java,Mapstruct,Grpc Java,Protobuf Java,作为GRPCAPI的一部分,我试图将原型自动生成的类映射到pojo。这是.proto文件 message AccountModelProto { repeated VerificationModelProto verification = 1; } message VerificationModelProto { string status = 1; string comment = 2; string verificationType = 3; repeate

作为GRPCAPI的一部分,我试图将原型自动生成的类映射到pojo。这是.proto文件

message AccountModelProto
{
 repeated VerificationModelProto verification = 1;
}
message VerificationModelProto
{
    string status = 1;
    string comment = 2;
    string verificationType = 3;
    repeated VerificationAttributeModelProto verificationAttributes = 4;
}
message VerificationAttributeModelProto
{
    string type = 1;
    string label = 2;
    bool attributeStatus = 3;
}
上面代码的映射器是。我参考了mapstruct提供的示例,根据它,我不需要提供VerificationModelProto到List的显式映射,但我得到了编译器错误

错误:无法将属性“集合验证”映射到“VerificationModelProto verificationList”。考虑声明/实现映射方法:“验证模型PRODTO MAP(集合值)”。 如何度过这一关。我将CollectionMappingStrategy添加为CollectionMappingStrategy。首选加法器。

错误是:无法将属性“Collection verification”映射到“VerificationModelProto verificationList”。考虑声明/实现一种映射方法:“验证模型PRODTO MAP(集合值)”。Erro是错误的:不能将属性“集合验证”映射到“ValigalMotoPro验证列表”。考虑声明/实现映射方法:“验证模型PRODTO MAP(集合值)”。
@Mapping(source = "verification", target = "verificationList", qualifiedByName = "verificationModelToVerificationProtoMapping")
    AccountModelProto map(AccountModel accountModel);

@Named("verificationModelToVerificationProtoMapping")
default VerificationModelProto map (VerificationModel verificationModel)
{
    VerificationModelProto.Builder builder = VerificationModelProto.newBuilder()
                .setComment(verificationModel.getComment())
                .setStatus(verificationModel.getStatus().toString())
                .setVerificationType(verificationModel.getVerificationType());

    for(VerificationAttributeModel verificationAttributeModel: verificationModel.getVerificationAttributes())
    {
            builder.addVerificationAttributes(getVerificationAttributeBuilder(verificationAttributeModel));
    }
    return builder.build();
}

default VerificationAttributeModelProto getVerificationAttributeBuilder(VerificationAttributeModel verificationAttributeModel)
{
     VerificationAttributeModelProto.Builder builder = VerificationAttributeModelProto.newBuilder()
                .setAttributeStatus(verificationAttributeModel.getAttributeStatus())
                .setType(verificationAttributeModel.getType())
                .setLabel(verificationAttributeModel.getLabel());

   return builder.build();
}