0

次の protobuf 定義があります。

service MyService {
    rpc ServiceMethod (ServiceMethodRequest) returns (ServiceMethodResponse) {}
}

message ServiceMethodRequest{
    string requestParam = 1;
}
message ServiceMethodResponse{
    Error error = 1;
    SomeObjectList data = 2;
}
message Error{
    string code = 1;
    string errorMessage = 2;
}

message SomeObject {
    string myobject = 1;
}
message SomeObjectList {
    repeated SomeObject myobjects = 1;
}

ご覧のとおり、フォーマットされた応答を返したいので、API には標準化された応答方法があります。応答を次のようにフォーマットしました (これは、読みやすさのために JSON 形式になっています)。

{"error":{"code":"-1","errorMessage":""},"data":{"myobjects":[{"myobject":"some string"},{"myobject":"another string"}]}}

しかし、クライアント側では、私は常に得ています:

{ Error: 2 UNKNOWN: Unknown Error
    at Object.exports.createStatusError (.../node_modules/grpc/src/common.js:91:15)
    at Object.onReceiveStatus (.../node_modules/grpc/src/client_interceptors.js:1204:28)
    at InterceptingListener._callNext (.../node_modules/grpc/src/client_interceptors.js:568:42)
    at InterceptingListener.onReceiveStatus (.../node_modules/grpc/src/client_interceptors.js:618:8)
    at callback (.../node_modules/grpc/src/client_interceptors.js:845:24)
  code: 2,
  metadata: Metadata { _internal_repr: {}, flags: 0 },
  details: 'Unknown Error' }

応答オブジェクトを console.log しようとすると。

私は何を間違っていますか?また、いくつかの例 (C、C#、Java、Python、JavaScript) を含む grpc に関する良い本はありますか? 前もって感謝します!

4

1 に答える 1