Giraffe: 基于 Go 的高性能 GraphQL API 框架
Giraffe 是一个用 Go 语言编写的 GraphQL API 框架。以下是一个使用 Giraffe 创建简单 GraphQL 查询的例子:
首先,你需要安装 Giraffe:
go get github.com/go-giraffe/giraffe/v3@v0.0.0-20210827075652-5c3f559f7aee
然后,你可以创建一个简单的 GraphQL 类型和查询:
package main
import (
"net/http"
"github.com/go-giraffe/giraffe/v3"
"github.com/go-giraffe/giraffe/v3/graphql"
)
type Query struct{}
func (Query) Hello() string {
return "Hello, Giraffe!"
}
func main() {
schema := graphql.MustNewSchema(graphql.SchemaConfig{
Query: Query{},
// 如果你需要Mutation或Subscription,也可以在这里定义
})
giraffe.Giraffe(giraffe.DefaultGiraffe, giraffe.NewGraphQLHandler(schema))
http.ListenAndServe(":8080", nil)
}
这段代码定义了一个 GraphQL 的 Query 类型,并实现了一个简单的 Hello
查询方法。然后,它创建了一个使用这个类型的 GraphQL 模式,并通过 Giraffe 将 GraphQL 请求处理器绑定到 HTTP 服务上。
运行这段代码后,你可以通过 GraphQL 查询 http://localhost:8080/graphql 来测试你的 API。例如,你可以发送一个包含以下内容的 POST 请求:
{
"query": "query { hello }"
}
这将返回:
{
"data": {
"hello": "Hello, Giraffe!"
}
}
以上代码提供了一个基本的示例,展示了如何使用 Giraffe 和 GraphQL 在 Go 中创建一个简单的 API。
评论已关闭