github.com/grpc-ecosystem/grpc-gateway/v2@v2.19.1/examples/internal/proto/examplepb/openapi_merge_a.proto (about) 1 syntax = "proto3"; 2 3 // Merging Services 4 // 5 // This is an example of merging two proto files. 6 package grpc.gateway.examples.internal.examplepb; 7 8 import "google/api/annotations.proto"; 9 10 option go_package = "github.com/grpc-ecosystem/grpc-gateway/v2/examples/internal/proto/examplepb"; 11 12 // InMessageA represents a message to ServiceA and ServiceC. 13 message InMessageA { 14 // Here is the explanation about InMessageA.values 15 repeated string values = 1; 16 } 17 18 // OutMessageA represents a message returned from ServiceA. 19 message OutMessageA { 20 // Here is the explanation about OutMessageA.value 21 string value = 1; 22 } 23 24 // OutMessageC represents a message returned from ServiceC. 25 message OutMessageC { 26 // Here is the explanation about OutMessageC.value 27 string value = 1; 28 } 29 30 // ServiceA provices MethodOne and MethodTwo 31 service ServiceA { 32 // ServiceA.MethodOne receives InMessageA and returns OutMessageA 33 // 34 // Here is the detail explanation about ServiceA.MethodOne. 35 rpc MethodOne(InMessageA) returns (OutMessageA) { 36 option (google.api.http) = { 37 post: "/v1/example/a/1" 38 body: "*" 39 }; 40 } 41 // ServiceA.MethodTwo receives OutMessageA and returns InMessageA 42 // 43 // Here is the detail explanation about ServiceA.MethodTwo. 44 rpc MethodTwo(OutMessageA) returns (InMessageA) { 45 option (google.api.http) = { 46 post: "/v1/example/a/2" 47 body: "*" 48 }; 49 } 50 } 51 52 // ServiceC service responds to incoming merge requests. 53 service ServiceC { 54 // ServiceC.MethodOne receives InMessageA and returns OutMessageC 55 // 56 // Here is the detail explanation about ServiceC.MethodOne. 57 rpc MethodOne(InMessageA) returns (OutMessageC) { 58 option (google.api.http) = { 59 post: "/v1/example/c/1" 60 body: "*" 61 }; 62 } 63 // ServiceC.MethodTwo receives OutMessageA and returns InMessageA 64 // 65 // Here is the detail explanation about ServiceC.MethodTwo. 66 rpc MethodTwo(OutMessageA) returns (InMessageA) { 67 option (google.api.http) = { 68 post: "/v1/example/c/2" 69 body: "*" 70 }; 71 } 72 }