1
0
mirror of https://github.com/go-micro/go-micro.git synced 2025-03-17 20:28:06 +02:00
2020-12-26 15:17:20 +00:00

38 lines
942 B
Go

package main
import (
"github.com/99designs/gqlgen/handler"
gql "github.com/micro/examples/greeter/api/graphql/graphql"
helloProto "github.com/micro/examples/greeter/srv/proto/hello"
"github.com/micro/go-micro/v2/client"
"github.com/micro/go-micro/v2/util/log"
"github.com/micro/go-micro/v2/web"
)
func main() {
// create new web service
service := web.NewService(
web.Name("go.micro.api.greeter"),
web.Version("latest"),
web.Address(":8085"),
)
// initialise service
if err := service.Init(); err != nil {
log.Fatal(err)
}
// RPC client
cl := helloProto.NewSayService("go.micro.srv.greeter", client.DefaultClient)
// register graphql handlers
service.Handle("/", handler.Playground("GraphQL playground", "/query"))
service.Handle("/query", handler.GraphQL(gql.NewExecutableSchema(gql.Config{Resolvers: &gql.Resolver{Client: cl}})))
// run service
if err := service.Run(); err != nil {
log.Fatal(err)
}
}