猿问

Go 中的高性能 gRPC 丰富错误处理

Google 文档提出了以下模型(https://cloud.google.com/apis/design/errors#error_model)用于在 gRPC 中发送丰富的错误,但似乎每次都将错误字符串发送给用户。我想要做的是发送一个代码,然后在它到达客户端时将其映射到一个字符串。

我想知道的是该proto3语言支持写入数据的任何内容,以便我可以在客户端使用它,而无需定义自定义结构来将错误代码映射到错误消息。


当年话下
浏览 120回答 1
1回答

动漫人物

在您的proto定义中,enum使用任何额外的错误代码定义一个简单的:enum extraStatusCode {    UNKNOWN         = 0;  // not set/used    TOO_MANY_FOOS   = 1;    NOT_ENOUGH_BARS = 2;}并将其作为顶级字段包含在任何返回的message:message User {    string uid      = 1;    string email    = 2;    // ...    extraStatusCode = 15;}如果以非零值发送消息extraStatusCode- 则遇到边缘情况。
随时随地看视频慕课网APP

相关分类

Go
我要回答