Я написал этот простой 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](https://i.stack.imgur.com/h75Zg.png)
Итак, что я делаю не так?
Редактировать: так что это мой 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;
}