Невозможно сделать grp c -gateway .gw.pb, и ошибки нет - PullRequest
0 голосов
/ 09 февраля 2020

Я написал этот простой go сервер и клиент, клиент которого отправляет два числа, и сервер отвечает суммой, и это работает. Сейчас я пытаюсь настроить шлюз grp c с использованием конфигурации API grp c и изменить запрос клиента с GRP C на остальные.

Я использую это руководство и в следующем разделе я не могу создать gw, пока нет ошибки:

protoc -I/usr/local/include -I. \
  -I$GOPATH/src \
  -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis \
  --grpc-gateway_out=logtostderr=true,grpc_api_configuration=path/to/your_service.yaml:. \
  path/to/your_service.proto

Я использовал это:

protoc -I/usr/local/include -I.   -I$GOPATH/src   -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --grpc-gateway_out=logtostderr=true,grpc_api_configuration=$GOPATH/src/grpc-test/sum.yaml:. ./sum.proto

и после этой проблемы я искал и я нашел этот способ, который не работает (без ошибок и без вывода!):

protoc -I/usr/local/include -I. -I$GOPATH/src -I$GOPATH/src/github.com/grpc-ecosystem/grpc-gateway/third_party/googleapis --plugin=protoc-gen-grpc-gateway=$GOPATH/bin/protoc-gen-grpc-gateway  --grpc-gateway_out=logtostderr=true,grpc_api_configuration=sum.yaml:. ./sum.proto

Я запускаю это в каталоге grp c -test, который имеет дерево ниже:

grpc-test tree

Итак, что я делаю не так?

Редактировать: так что это мой sum.yaml:

type: google.api.Service
config_version: 3

http:
  rules:
    - selector: example.YourService.Echo
      post: /v1/example/echo
      body: "*"

И это is sum.proto:

syntax = "proto3";


service ComputeSum {
    rpc ComputeSum (SumRequest) returns (ResultReply) {
    }
}

message SumRequest {
    int32 firstOperand = 1;
    int32 secondOperand = 2;
}

message ResultReply {
    int32 result = 1;
}

1 Ответ

0 голосов
/ 18 февраля 2020

Проблема с селектором в, это должно быть ComputeSum.ComputeSum. Я задал этот вопрос в канале GRP c в Суслики сусликов , и Йохан Брандхорст помог мне с этим.

...