如何在go代码中调用graphql解析器

I tried this code

url := "http://142.77.221.41:8000/graphql"
query := `{
     hello(theme:"HELLO WORLD", html: "<h1>hello</h1>", recipientList: "hello@mail.ua") {theme, html, recipientList} 
}`

body := strings.NewReader(`{"query":` + query + `}`)
//json := `{"query":` + strconv.QuoteToASCII(query) + `}`
req, err := http.NewRequest("POST", url, body)
if err != nil {
    fmt.Println(err)
}
req.Header.Set("Content-Type", "application/x-www-form-urlencoded")
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
    fmt.Println(err)
}
fmt.Println(resp.Status)

it sends

500 Internal Server Error

but when I go to the http://142.77.221.41:8000/graphql and type the same query on playground it works fine