gqlgen

​Go 语言实现的基于 graphql 的服务器库
授权协议 MIT
开发语言 Google Go JavaScript
所属分类 Web应用开发、 GraphQL 项目
软件类型 开源软件
地区 不详
投 递 者 陆飞龙
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

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包即可