1 回答
TA贡献1784条经验 获得超9个赞
对于你的问题,你后台接收的数据是正确的,查询本身不包含查询参数,查询参数是通过variables键发送的。
响应问题是这一行result := gql.ExecuteQuery(rBody.Query, *s.GqlSchema)。 variables来自请求体也需要传递给ExecuteQuery. 使用函数的示例实现graphql-go/graphql Do可以是
func executeQuery(query string, schema graphql.Schema, variables map[string]interface{}) *graphql.Result {
result := graphql.Do(graphql.Params{
Schema: schema,
RequestString: query,
VariableValues: variables
})
if len(result.Errors) > 0 {
fmt.Printf("errors: %v", result.Errors)
}
return result
}
类型的一个例子reqBody可以是
type reqBody struct {
Query string
Variables map[string]interface{}
}
然后json.NewDecoder(r.Body).Decode(&rBody)会自动设置Query和Variables
- 1 回答
- 0 关注
- 120 浏览
添加回答
举报