syntax = "proto3"; package helloworld; option go_package = "go.linka.cloud/grpc/example;main"; import "google/api/annotations.proto"; import "validate/validate.proto"; import "defaults/defaults.proto"; service Greeter { rpc SayHello (HelloRequest) returns (HelloReply) { option (google.api.http) = { post: "/api/v1/greeter/hello" body: "*" }; } rpc SayHelloStream (HelloStreamRequest) returns (stream HelloReply) {} } message HelloRequest { string name = 1 [(validate.rules).string = {min_len: 2, max_len: 40}]; } message HelloReply { string message = 1; } message HelloStreamRequest { string name = 1 [(validate.rules).string = {min_len: 2, max_len: 40}]; int64 count = 2 [(validate.rules).int64 = {gte: 1, lte: 10}, (defaults.value).int64 = 10]; }