gpt4 book ai didi

go - 如何从 xxx.pb.go 获取服务描述

转载 作者:行者123 更新时间:2023-12-01 22:42:08 25 4
gpt4 key购买 nike

当我使用 xxx.proto 生成 golang protobuf 文件时
我懂了

...

var _Auth_serviceDesc = grpc.ServiceDesc{
ServiceName: "protobuf.Auth",
HandlerType: (*AuthServer)(nil),
Methods: []grpc.MethodDesc{
{
MethodName: "GenerateToken",
Handler: _Auth_GenerateToken_Handler,
},
},
Streams: []grpc.StreamDesc{},
Metadata: "auth.proto",
}

我怎样才能得到 serviceDesc出了这个包?
我想获取服务名称和方法

最佳答案

访问服务和方法的唯一方法是通过 FileDescriptorProto对于 proto 文件。或者,v2 proto API 包含一个变量,该变量将包含描述符 proto,以防您不知道文件名(请注意,单个 proto 包可能包含多个文件)。

请看 https://github.com/golang/protobuf/issues/489有关此主题的更多讨论(特别是 dsnet 关于 v2 proto API 在这方面如何工作的最后评论)。

关于go - 如何从 xxx.pb.go 获取服务描述,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58609530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com