项目作者: sijad
项目描述 :
CRUD gqlgen code generator for ent models
高级语言: Go
项目地址: git://github.com/sijad/entgql.git
🚧🚧 this is pre-alpha software 🚧🚧
entgql
Simple, Efficient, CRUD GraphQL API Generator for ent. and gqlgen
Quick Start
it’s recommended to install entgql using Go modules.
- create a new gqlgen project
- install ent. and generate your models
- install entgql by running
go get github.com/sijad/entgql/cmd/entgql
- generate CRUD code for your ent schema using
go run github.com/sijad/entgql/cmd/entgql generate ./ent/schema
- edit
./graph/resolver.go
and add ent client to the resolver struct:
```diff
-type Resolver struct{}
+import “your.com/project/path/ent”
+
+type Resolver struct {
- EntClient *ent.Client
+}
```
- edit
./server.go
to create a new client and pass it to resolvers:
```diff
+import “your.com/project/path/ent”
+import _ “your.com/dialect/driver”
func main() {
// …
- client, err := ent.Open(“dialect-name”, “dialet-options”)
- if err != nil {
- log.Fatal(err)
- }
- defer client.Close()
- srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{}}))
- srv := handler.NewDefaultServer(generated.NewExecutableSchema(generated.Config{Resolvers: &graph.Resolver{EntClient: client}}))
// …
```
- start your GraphQL server
go run server.go
Credits
inspired by Nexus and PostGraphile