diff --git a/api/main.proto b/api/main.proto index 32c7d94..e8981b4 100644 --- a/api/main.proto +++ b/api/main.proto @@ -12,8 +12,21 @@ service ${REPO_NAME_PASCAL} { get: "/api/ping" }; } + rpc Echo(EchoReq) returns (EchoRsp) { + option (google.api.http) = { + post: "/api/echo" + }; + } } message PingReq {} message PingRsp {} + +message EchoReq { + string text = 1; +} + +message EchoRsp { + string text = 1; +} diff --git a/internal/app/server.go b/internal/app/server.go index dcbd727..253b9b6 100644 --- a/internal/app/server.go +++ b/internal/app/server.go @@ -1,18 +1,22 @@ package app import ( - proto "${REPO_NAME_SNAKE}/proto" "context" + proto "${REPO_NAME_SNAKE}/proto" ) -type Server struct { - proto.Unimplemented${REPO_NAME_PASCAL}Server +type server struct { + proto.Unsafe{REPO_NAME_PASCAL}Server } -func NewServer() *Server { - return &Server{} +func NewServer() proto.TestTemplateRepoServer { + return &server{} } -func (s *Server) Ping(_ context.Context, _ *proto.PingReq) (*proto.PingRsp, error) { +func (s *server) Ping(_ context.Context, _ *proto.PingReq) (*proto.PingRsp, error) { return &proto.PingRsp{}, nil } + +func (s *server) Echo(_ context.Context, req *proto.EchoReq) (*proto.EchoRsp, error) { + return &proto.EchoRsp{Text: req.Text}, nil +} \ No newline at end of file