gqlgen 是一个使用 Go 语言实现的用于快速创建严格类型的 graphql 服务器的库。
dep ensure -add github.com/vektah/gqlgen
示例代码
定义 schema
schema { query: Query mutation: Mutation } type Query { todos: [Todo!]! } type Mutation { createTodo(text: String!): Todo! } type Todo { id: ID! text: String! done: Boolean! user: User! } type User { id: ID! name: String! }
定义模型
package yourapp type Todo struct { ID string Text string Done bool UserID int } type User struct { ID string Name string }
告诉生成器如何在 types.json 中的两者之间进行映射
{ "Todo": "github.com/you/yourapp.Todo", "User": "github.com/you/yourapp.User"}
然后从其中生成运行时
gqlgen -out generated.go
在生成的文件的顶部将是与完成所需的图的解析器的接口
package yourapptype Resolvers interface { Mutation_createTodo(ctx context.Context, text string) (Todo, error) Query_todos(ctx context.Context) ([]Todo, error) Todo_user(ctx context.Context, it *Todo) (User, error) }
实现此接口,然后通过将其传递到生成的代码中来创建服务器
func main() { http.Handle("/query", graphql.Handler(gen.NewResolver(yourResolvers{}))) log.Fatal(http.ListenAndServe(":8080", nil)) }
1.要有go.mod和go.sum这两个文件才能去执行go run github.com/99designs/gqlgen去更新generated.go和models_gen.go,在没有这两个文件的时候去执行该命令,会把generated.go文件删除 2.要执行了go mod init github.com/[username]/[project]才能生成go.mod 3.要执行了go get
Gqlgen初步学习 本文是小编对gqlgen的初步构建做的整理,还望对你有所帮助。 一 简介 1,什么是gqlgen gqlgen是一个用于构建GraphQL服务器的Go库。 2,gqlgen有什么用 序号 作用 1 gqlgen基于模式优先的方法 — 您可以使用GraphQL模式定义语言来定义API。 2 gqlgen优先考虑类型安全 — 你不应该在这里看到map[string]interfa
昨天,我们在使用gqlgen的时候,发现它默认没有int64类型的标量,只有int类型的标量。所以需要自定义一个int64标量。 先说一下自定义标量的原理吧,这个在文档里面没有去解释,只是给出了一段代码,其他的就要自己去理解了。 自定义标量的原理就是,前端传递一个字符串,然后gqlgen会自动调用我们实现的解析函数,去解析这个字符串,得到我们想要的类型。 现在,我们来实战一下。我们初始化项目: 1
前言 GraphQL是一种新的API设计语言,它提供了更加灵活、高效的API查询方式。与RESTful API相比,GraphQL可以更好地满足前端工程师的需求,使得API的开发更加便捷。gqlgen是一款用于Golang语言开发的GraphQL库,它可以帮助您更快地构建高质量的GraphQL服务。在本文中,我们将会介绍如何使用gqlgen来构建GraphQL服务。 安装gqlgen 在开始使用g
mongodb订阅发布模型 by Anshul Sanghi 通过Anshul Sanghi 如何使用Go,GQLgen和MongoDB处理GraphQL订阅 (How to handle GraphQL subscriptions with Go, GQLgen and MongoDB) 使用GraphQL订阅和MongoDB ChangeStreams创建实时数据服务器 (Creating a
本文向大家介绍Go语言Telnet回音服务器的实现,包括了Go语言Telnet回音服务器的实现的使用技巧和注意事项,需要的朋友参考一下 本文介绍了Go语言Telnet回音服务器,分享给大家,具体如下: 以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持呐喊教程。
本文向大家介绍Go语言实现简单Web服务器的方法,包括了Go语言实现简单Web服务器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言实现简单Web服务器的方法。分享给大家供大家参考。具体分析如下: 包 http 通过任何实现了 http.Handler 的值来响应 HTTP 请求: package http type Handler interface { ServeHTTP
本文向大家介绍Go语言实现的一个简单Web服务器,包括了Go语言实现的一个简单Web服务器的使用技巧和注意事项,需要的朋友参考一下 Web是基于http协议的一个服务,Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。 http包建立Web服务器 上
本文向大家介绍go语言实现聊天服务器的示例代码,包括了go语言实现聊天服务器的示例代码的使用技巧和注意事项,需要的朋友参考一下 看了两天 go 语言,是时候练练手了。 go 的 routine(例程) 和 chan(通道) 简直是神器,实现多线程(在 go 里准确的来说是 多例程)简直不要太轻松。 于是动手码了一个傻瓜版的黑框聊天器。 server 端: 监听 TCP 连接;支持自定义客户端命令;
本文向大家介绍Go语言Echo服务器的方法,包括了Go语言Echo服务器的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Go语言Echo服务器的方法。分享给大家供大家参考。具体如下: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍go语言实现简单http服务的方法,包括了go语言实现简单http服务的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言实现简单http服务的方法。分享给大家供大家参考。具体实现方法如下: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍go语言实现的memcache协议服务的方法,包括了go语言实现的memcache协议服务的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了go语言实现的memcache协议服务的方法。分享给大家供大家参考。具体如下: 完整实例代码点击此处本站下载。 1. Go语言代码如下: 2. Go语言代码: 3. Go语言代码如下: 希望本文所述对大家的Go语言程序设计有所帮助。
本文向大家介绍Go语言基于Socket编写服务器端与客户端通信的实例,包括了Go语言基于Socket编写服务器端与客户端通信的实例的使用技巧和注意事项,需要的朋友参考一下 在golang中,网络协议已经被封装的非常完好了,想要写一个Socket的Server,我们并不用像其他语言那样需要为socket、bind、listen、receive等一系列操作头疼,只要使用Golang中自带的net包即可