搭建GraphQL服务

简介: 搭建GraphQL服务

js版


GraphQL在 NodeJS 服务端中使用最多

安装graphql-yoga:

npm install graphql-yoga


新建index.js:

const {GraphQLServer} = require("graphql-yoga")
const server = new GraphQLServer({
    typeDefs: `
    type Query {
        hello(name:String):String!
        } 
    `,
    resolvers: {
        Query: {
            hello: (parent, {name}, ctx) => {
                return `${name},你好!`;
            }
        }
    }
})
server.start({
    port: 4600
}, ({port}) => {
    console.log(`服务器已启动,请访问: http://localhost:${port}`);
})

微信截图_20230926165007.png

node index.js 运行

点击链接 进入playground:

query{
  hello(name:"dashen")
}

image.png

参考自 5分钟快速搭建一个Graphql服务器




Golang版


入门教程

Go常用的GraphQL服务端库

微信截图_20230926165107.png

graphql-go/graphql项目的demo:

(文档点此)

package main
import (
  "encoding/json"
  "fmt"
  "log"
  "github.com/graphql-go/graphql"
)
func main() {
  // Schema
  fields := graphql.Fields{
    "hello": &graphql.Field{
      Type: graphql.String,
      Resolve: func(p graphql.ResolveParams) (interface{}, error) {
        return "world", nil
      },
    },
  }
  rootQuery := graphql.ObjectConfig{Name: "RootQuery", Fields: fields}
  schemaConfig := graphql.SchemaConfig{Query: graphql.NewObject(rootQuery)}
  schema, err := graphql.NewSchema(schemaConfig)
  if err != nil {
    log.Fatalf("failed to create new schema, error: %v", err)
  }
  // Query
  query := `
    {
      hello
    }
  `
  params := graphql.Params{Schema: schema, RequestString: query}
  r := graphql.Do(params)
  if len(r.Errors) > 0 {
    log.Fatalf("failed to execute graphql operation, errors: %+v", r.Errors)
  }
  rJSON, _ := json.Marshal(r)
  fmt.Printf("%s \n", rJSON) // {"data":{"hello":"world"}}
}

执行输出

{"data":{"hello":"world"}}


基于此项目的实践,参考

Graphql Go 基于Golang实践

代码

目录
相关文章
|
6月前
|
SQL 前端开发 API
前端需要学GraphQL 吗?
前端需要学GraphQL 吗?
59 2
|
6月前
|
API 开发者 网络架构
从REST到GraphQL:探究GraphQL的概念与实践
RESTful API曾经是互联网应用程序的主流,但它也存在着一些限制。随着GraphQL的出现,开发者们可以更加自由地定义和查询API,提高了应用程序的灵活性和可扩展性。本文将深入探讨GraphQL的概念和实践,并介绍如何在应用程序中使用GraphQL。
40 6
|
JSON 前端开发 API
如何使用GraphQL进行前端数据交互
如何使用GraphQL进行前端数据交互
|
11月前
|
API
GraphQL
GraphQL
63 0
|
前端开发 API 网络架构
在 Rails 项目里使用 Graphql
在 Rails 项目里使用 Graphql
|
存储 Java API
大厂都在实践的GraphQL,你了解吗?
大厂都在实践的GraphQL,你了解吗?
179 0
|
SQL 前端开发 JavaScript
关于graphql快速入门
关于graphql快速入门
181 0
|
缓存 前端开发 JavaScript
浅谈NodeJS搭建GraphQL API服务
GraphQL是一种通过强类型查询语言构建api的新方法。GraphQL于2015年由Facebook发布,目前正迅速获得关注,并被Twitter和Github等其他大型公司所采用。GraphQL API设计理念是有别于REST API,简单了解可以看看这篇文章《GraphQL与REST:两种API架构》
450 0
浅谈NodeJS搭建GraphQL API服务
|
前端开发 JavaScript 小程序
从GraphQL到前端数据管理的革命 - GraphQL干货笔记
你知道吗?FaceBook、GitHub,Pinterest,Twitter,Sky,纽约时报,Shopify,Yelp这些大公司已经在使用GraphQL规范的接口规范了。再不学习就落后了。
320 0
|
JSON 前端开发 NoSQL
GraphQL 从入门到实践
本文首先介绍了 GraphQL,再通过 MongoDB + graphql + graph-pack 的组合实战应用 GraphQL,详细阐述如何使用 GraphQL 来进行增删改查和数据订阅推送,并附有使用示例,边用边学印象深刻~ 如果希望将 GraphQL 应用到前后端分离的生产环境,请期待后续文章。 本文实例代码:Github 感兴趣的同学可以加文末的微信群,一起讨论吧~
GraphQL 从入门到实践