我有一个使用graphql-go实现的 graphql 服务器,并且我在前端使用 Apollo。不带参数的简单查询和使用输入对象类型的突变工作正常,但由于某种原因在查询中传递标量类型参数会返回错误:
[{"message":"Unknown type \"Int\".","locations":[{"line":1,"column":19}]}]
Run Code Online (Sandbox Code Playgroud)
我的使用再简单不过了;在客户端,我的查询是:
export const GET_CLIENT = gql`
query client($id: Int) {
client(id: $id) {
id
name
}
}`
Run Code Online (Sandbox Code Playgroud)
它在像这样的组件中使用:
<Query
query={GET_CLIENT}
variables={{
id: 1
}} />
Run Code Online (Sandbox Code Playgroud)
它在后端解析为该字段:
// ClientQuery takes an ID and returns one client or nil
var ClientQuery = &graphql.Field{
Type: ClientType,
Args: graphql.FieldConfigArgument{
"id": &graphql.ArgumentConfig{
Type: graphql.Int,
},
},
Resolve: func(p graphql.ResolveParams) (interface{}, error) {
return p.Context.Value("service").(*model.Service).FindClientByID(id)
},
}
Run Code Online (Sandbox Code Playgroud)
我尝试过传递输入对象、字符串等,但后端似乎没有满足任何查询参数、标量或其他参数。我尝试过 graphql-go 的 master 和 v0.7.5。我错过了什么吗?非常感谢帮助,这种基本的东西成为如此巨大的阻碍者感觉很奇怪。
归档时间: |
|
查看次数: |
16667 次 |
最近记录: |