gqlgen ​Go 语言实现的基于 graphql 的服务器库开源项目

我要开发同款
匿名用户2018年02月12日
199阅读

技术信息

开源地址
https://github.com/vektah/gqlgen
授权协议
MIT

作品详情

gqlge是一个使用Go语言实现的用于快速创建严格类型的graphql服务器的库。

dep esure -add github.com/vektah/gqlge

示例代码

定义schema

 

 

schema {query: Querymutatio: Mutatio}type Query {todos: [Todo!]!}type Mutatio {createTodo(text: Strig!): Todo!}type Todo {id: ID!text: Strig!doe: Boolea!user: User!}type User {    id: ID!    ame: Strig!}

 

 

 

 

定义模型

 

package yourapptype Todo struct {ID     strigText   strigDoe   boolUserID it}type User struct {    ID strig    Name strig}

 

 

告诉生成器如何在types.jso中的两者之间进行映射

 

{  "Todo": "github.com/you/yourapp.Todo",  "User": "github.com/you/yourapp.User"}

 

 

然后从其中生成运行时

gqlge -out geerated.go

在生成的文件的顶部将是与完成所需的图的解析器的接口

 

package yourapptype Resolvers iterface {Mutatio_createTodo(ctx cotext.Cotext, text strig) (Todo, error)Query_todos(ctx cotext.Cotext) ([]Todo, error)Todo_user(ctx cotext.Cotext, it *Todo) (User, error)}

 

 

实现此接口,然后通过将其传递到生成的代码中来创建服务器

 

fuc mai() {http.Hadle("/query", graphql.Hadler(ge.NewResolver(yourResolvers{})))log.Fatal(http.ListeAdServe(":8080", il))}

功能介绍

gqlgen 是一个使用 Go 语言实现的用于快速创建严格类型的 graphql 服务器的库。
dep ensure -add github.com/vektah/gqlgen 示例代码 定...

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论