Google 文档提出了以下模型(https://cloud.google.com/apis/design/errors#error_model)用于在 gRPC 中发送丰富的错误,但似乎每次都将错误字符串发送给用户。我想要做的是发送一个代码,然后在它到达客户端时将其映射到一个字符串。我想知道的是该proto3语言支持写入数据的任何内容,以便我可以在客户端使用它,而无需定义自定义结构来将错误代码映射到错误消息。
1 回答
动漫人物
TA贡献1815条经验 获得超10个赞
在您的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- 则遇到边缘情况。
- 1 回答
- 0 关注
- 119 浏览
添加回答
举报
0/150
提交
取消