как получить сервис desc от xxx.pb.go - PullRequest
0 голосов
/ 29 октября 2019

когда я использую xxx.proto для создания файла protobuf golang
Я вижу

...

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 из этого пакета?
Я хочу получить услугуимя и методы

1 Ответ

0 голосов
/ 30 октября 2019

Единственный способ получить доступ к сервисам и методам - ​​через FileDescriptorProto для файлов протока. Или, API-протокол v2 содержит переменную, которая будет содержать дескриптор proto на тот случай, если вы не знаете имен файлов (обратите внимание, что один пакет proto может содержать несколько файлов).

См. https://github.com/golang/protobuf/issues/489 для более подробного обсуждения этой темы (и, в частности, последнего комментария dsnet о том, как в этом отношении работает API-интерфейс Pro2 v2).

...