구글/API/annotations.proto를 가져 오는 방법 :gRPC + Bazel + 특사 JSON 프록시 - 나는 아주 간단한 gRPC 서비스가 정의되어
syntax = "proto3";
package helloworld;
import "annotations.proto";
// The greeting service definition.
service Greeter {
// Sends a greeting
rpc SayHello(HelloRequest) returns (HelloReply) {
option (google.api.http) = {
post: "/api/v1/hello"
body: "*"
}
}
}
// The request message containing the user's name.
message HelloRequest {
string name = 1;
}
// The response message containing the greetings
message HelloReply {
string message = 1;
}
흥미로운 측면은 내가 특사 gRPC을 사용하고 있다는 것입니다 <> JSON 트랜스 코딩 필터가 HTTP2/Protobuf <> HTTP1/JSON 사이를 "변환"합니다. 자세한 내용은 https://www.envoyproxy.io/docs/envoy/latest/api-v1/http_filters/grpc_json_transcoder_filter을 참조하십시오.
또한 Java 기반 gRPC 서비스를 빌드하는 데 Bazel을 사용하고 있습니다. 특사 트랜스 코딩 필터는 몇 가지 주석이 필요합니다
option (google.api.http) = {
post: "/api/v1/hello"
body: "*"
}
나는 .proto 정의의 된 .java 해당 파일을 생성하기 위해 proto_library (https://github.com/cgrushko/proto_library)를 사용하고,하지만 나는
import "google/api/annotations.proto";
을 추가 할 수 아니에요
을 .proto 파일에 가져 오려면 https://github.com/googleapis/googleapis/blob/master/google/api/annotations.proto을 bazel 프로젝트로 가져 오는 방법을 모릅니다.
감사합니다.
최고 감사합니다, JJ
(1) 게시 주셔서 감사합니다. 문제를 개선하기 위해, 나는 대사와 같은 관련없는 것들을 제거하는 것이 낫다고 생각한다. (2) 파일 상단에''google/api/annotations.proto' (''annotations.proto ''가 아닌)를 임포트 했습니까? – user1071136