我正在使用gRPC通信,同时调用其他微服务模块中的服务。
下面是我的示例.proto文件
syntax = "proto3";
import public "common/session-context.proto";
import public "common/serviceInvocationModeType.proto";
import public "common/auditable.proto";
import public "common/coreEngineBase.proto";
import public "common/transactionStatus.proto";
import public "common/date.proto";
option java_multiple_files = true;
option java_package = "com.mnp.grpc.casa";
message CasaAccountOpeningGrpcDTO{
string accountTitle = 1;
string systemStatus = 2;
AccountTypeEnum accountType = 3;
}
message CasaAccountOpeningGrpcResponseDTO{
string accountNumber = 1;
string applicationId = 2;
}
message CasaAccountOpeningRequest{
SessionContext sessionContext = 1;
CasaAccountOpeningGrpcDTO casaAccountOpeningGrpcDTO = 2;
}
message CasaAccountOpeningResponse{
CasaAccountOpeningGrpcResponseDTO casaAccountOpeningGrpcResponseDTO = 1;
TransactionStatus transactionStatus = 2;
}
enum AccountTypeEnum{
CASA = 0;
ABC = 1;
XYZ = 2;
}
service CasaAccountOpeningService{
rpc processAccountOpening(CasaAccountOpeningRequest) returns (CasaAccountOpeningResponse) ;
}
字符串
现在,每当我想在调用服务时将AccountTypeEnum值作为null发送时,如果我将AccountTypeEnum作为null传递,那么它会给出一个指针异常。如何在使用gRPC服务时将AccountTypeEnum作为null传递?
1条答案
按热度按时间mi7gmzs61#
您正在尝试设置Java enum
null
值,但该值未Map到protobuf enum。请查看https://protobuf.dev/programming-guides/proto3/#enum。使用默认值(如Map到0
),并将字段显式设置为默认值或不设置任何值。