有谁知道如何在客户端进行 grpc 调用后从服务器获取传入的元数据,例如
response, err := grpcClient.InvokeRpc(context.TODO(), methodDesc, message)
我使用的是https://github.com/jhump/protoreflect,你可以参考示例代码 这里。
我找到了解决方案,我只需传递要求元数据的附加参数,检查这个!.
var header, trailer metadata.MD // variable to store header and trailer
r, err := client.SomeRPC(
ctx,
someRequest,
grpc.Header(&header), // will retrieve header
grpc.Trailer(&trailer), // will retrieve trailer
)
// do something with header and trailer