mirror of
https://github.com/go-micro/go-micro.git
synced 2025-06-30 22:33:49 +02:00
Add examples
This commit is contained in:
52
examples/greeter/api/rpc/rpc.go
Normal file
52
examples/greeter/api/rpc/rpc.go
Normal file
@ -0,0 +1,52 @@
|
||||
package main
|
||||
|
||||
import (
|
||||
"log"
|
||||
|
||||
proto "github.com/micro/examples/greeter/api/rpc/proto/hello"
|
||||
hello "github.com/micro/examples/greeter/srv/proto/hello"
|
||||
"github.com/micro/go-micro/v2"
|
||||
|
||||
"context"
|
||||
)
|
||||
|
||||
type Greeter struct {
|
||||
Client hello.SayService
|
||||
}
|
||||
|
||||
func (g *Greeter) Hello(ctx context.Context, req *proto.Request, rsp *proto.Response) error {
|
||||
log.Print("Received Greeter.Hello API request")
|
||||
|
||||
// make the request
|
||||
response, err := g.Client.Hello(ctx, &hello.Request{Name: req.Name})
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
// set api response
|
||||
rsp.Msg = response.Msg
|
||||
return nil
|
||||
}
|
||||
|
||||
func main() {
|
||||
// Create service
|
||||
service := micro.NewService(
|
||||
micro.Name("go.micro.api.greeter"),
|
||||
)
|
||||
|
||||
// Init to parse flags
|
||||
service.Init()
|
||||
|
||||
// Register Handlers
|
||||
proto.RegisterGreeterHandler(service.Server(), &Greeter{
|
||||
// Create Service Client
|
||||
Client: hello.NewSayService("go.micro.srv.greeter", service.Client()),
|
||||
})
|
||||
|
||||
// for handler use
|
||||
|
||||
// Run server
|
||||
if err := service.Run(); err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user