No pacote http do Go, como obter a query string em uma requisição POST?
Olá a todos! Recentemente comecei a estudar Go e me deparei com um problema ao trabalhar com o servidor HTTP. Preciso processar uma requisição POST na qual o cliente envia parâmetros tanto na query string (URL) quanto no corpo da requisição (form-data).
Aqui está um exemplo do meu código:
```go
func handlePost(w http.ResponseWriter, r *http.Request) {
if r.Method != http.MethodPost {
http.Error(w, "Method not allowed", http.StatusMethodNotAllowed)
return
}
// Tentando obter os parâmetros da query string
name := r.URL.Query().Get("name")
age := r.URL.Query().Get("age")
// E do corpo da requisição
r.ParseForm()
email := r.FormValue("email")
log.Printf("Name: %s, Age: %s, Email: %s", name, age, email)
}
```
O problema é que quando envio uma requisição POST com query string (por exemplo, `POST /submit?name=John&age=30`), `name` e `age` vêm vazios. Enquanto isso, `email` do corpo da requisição funciona normalmente.
Tentei ler a documentação, mas lá não...