当我使用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
?
我想获取服务名称和方法
答案 0 :(得分:0)
访问服务和方法的唯一方法是通过FileDescriptorProto
获取原始文件。或者,v2 proto API包含一个变量,该变量将包含描述符原型,以防您不知道文件名(请注意,单个原型包可能包含多个文件)。
有关该主题的更多讨论,请参见where to put .env files(尤其是dsnet关于v2原型API在这方面如何工作的最后评论)。