Импорт «google / protobuf / descriptor.proto» в golang - PullRequest
0 голосов
/ 19 октября 2018

Я использую настраиваемые параметры , чтобы определить аннотации swagger для моего определения прото-сервиса.

Уже есть реализация этой swagger аннотации , поэтому мне просто нужно импортировать эту реализацию в мое определение сервиса .proto

import "protoc-gen-swagger/options/annotations.proto";
...

Проблема в том, что эта библиотекаимеет зависимость google / protobuf / descriptor.proto , и эта библиотека дескрипторов была создана по спецификации proto2 (эта библиотека взята из protocolbuffers / protobuf project )

syntax = "proto2";
package google.protobuf; 

, поэтому, когда я пытался собрать прото для php, я получаю сообщение об ошибке:

-php_out: google/protobuf/descriptor.proto: Can only generate PHP code 
for proto3 .proto files. Please add 'syntax = "proto3";' to the top of 
your .proto file.

Кто-нибудь знает, где я могу найти определение прото google / protobuf /descriptor.proto в прото-буферах версии 3?o как я могу решить эту проблему?

1 Ответ

0 голосов
/ 19 октября 2018

Библиотека генератора protoc-gen-swagger поддерживает только версию 3. protobuf. Ваша ошибка будет продолжать появляться, пока вы не изменили proto2 на proto3.Пожалуйста, прочитайте https://grpc -ecosystem.github.io / grpc-gateway / docs / использовании.html .

Также в сообщении об ошибке четко указано:

-php_out: google / protobuf / descriptor.proto: Может генерировать код PHP только для файлов proto3 .proto .Пожалуйста, добавьте 'syntax = "proto3";'в начало вашего файла .proto.

...