我想为我的 REST API 使用 google.golang.org/grpc/status 错误模型,因为它说您可以:
该Status类型定义了适用于不同编程环境的逻辑错误模型,包括 REST API 和 RPC API。
但是我遇到details了结构部分的问题。我知道它是 type []*anypb.Any,但是,我不清楚如何将它变成“解包”形式,因此我可以看到 Field 和 Description 属性,而不是 base64 编码的value字段。
我得到了什么:
{
"code": 3,
"message": "One or more fields are invalid",
"details": [
{
"type_url": "type.googleapis.com/google.rpc.BadRequest.FieldViolation",
"value": "CgVFbWFpbBIUSW52YWxpZCBlbWFpbCBmb3JtYXQ="
},
{
"type_url": "type.googleapis.com/google.rpc.BadRequest.FieldViolation",
"value": "CghQYXNzd29yZBIeTXVzdCBiZSBhdCBsZWFzdCAxMCBjaGFyYWN0ZXJz"
}
]
}
我应该得到什么:
{
"code": 3,
"message": "One or more fields are invalid",
"details": [
{
"type_url": "type.googleapis.com/google.rpc.BadRequest.FieldViolation",
"field": "Email",
"description": "Invalid email format"
},
{
"type_url": "type.googleapis.com/google.rpc.BadRequest.FieldViolation",
"field": "Password",
"description": "Must be at least 10 characters"
}
]
}
慕莱坞森
相关分类