iris/_examples/graphql/schema-first/server.go
Gerasimos (Makis) Maropoulos e9eb85af90
add graphql example
#2029
2023-02-07 03:01:24 +02:00

28 lines
731 B
Go

package main
import (
"os"
"github.com/iris-contrib/outerbanks-api/graph"
"github.com/99designs/gqlgen/graphql/handler"
"github.com/99designs/gqlgen/graphql/playground"
"github.com/kataras/iris/v12"
)
func main() {
app := iris.New()
graphServer := handler.NewDefaultServer(graph.NewExecutableSchema(graph.Config{Resolvers: &graph.Resolver{}}))
playgroundHandler := playground.Handler("GraphQL playground", "/query")
app.Get("/", iris.FromStd(playgroundHandler)) // We use iris.FromStd to convert a standard http.Handler to an iris.Handler.
app.Any("/query", iris.FromStd(graphServer.ServeHTTP)) // GET, POST, PUT...
port := os.Getenv("PORT")
if port == "" {
port = "8080"
}
app.Listen(":" + port)
}