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 關注
- 167 瀏覽
添加回答
舉報