Maison >développement back-end >Golang >Analyser le corps de la requête HTTP dans Golang
Il existe trois manières principales d'analyser le corps d'une requête HTTP dans Go : Utilisez io.ReadAll pour lire l'intégralité du corps. Utilisez json.Decoder pour analyser le corps JSON. Utilisez r.ParseMultipartForm pour analyser les données du formulaire.
Parsing du corps de la requête HTTP dans Golang
L'analyse du corps de la requête HTTP est cruciale pour recevoir les données du client et traiter la demande. Golang propose plusieurs méthodes pour analyser le corps de la requête, et cet article explorera les méthodes les plus couramment utilisées.
Méthode d'analyse
1. Utilisez io.ReadAll
pour lire l'intégralité du texteio.ReadAll
读取整个正文
func readAll(w http.ResponseWriter, r *http.Request) { body, err := io.ReadAll(r.Body) if err != nil { http.Error(w, "Could not read body", http.StatusBadRequest) return } // 使用 body ... }
2. 使用 json.Decoder
解析 JSON 正文
type RequestBody struct { Name string `json:"name"` } func decodeJSON(w http.ResponseWriter, r *http.Request) { body := RequestBody{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&body) if err != nil { http.Error(w, "Could not decode JSON body", http.StatusBadRequest) return } // 使用 body.Name ... }
3. 使用 multipart/form-data
func parseFormData(w http.ResponseWriter, r *http.Request) { if err := r.ParseMultipartForm(32 << 20); err != nil { http.Error(w, "Could not parse form data", http.StatusBadRequest) return } // 访问表单字段 r.Form }
2. Utilisez json.Decoder
pour analyser le texte JSON.
package main import ( "encoding/json" "fmt" "net/http" ) type RequestBody struct { Name string `json:"name"` } func main() { http.HandleFunc("/", handleRequest) http.ListenAndServe(":8080", nil) } func handleRequest(w http.ResponseWriter, r *http.Request) { // 解析 JSON 请求正文 body := RequestBody{} decoder := json.NewDecoder(r.Body) err := decoder.Decode(&body) if err != nil { http.Error(w, "Could not decode JSON body", http.StatusBadRequest) return } // 处理请求... // 返回响应 fmt.Fprintf(w, "Hello, %s!", body.Name) }
3. Utilisez multipart/form-data
pour analyser les données du formulaire
rrreee
🎜Cas pratique 🎜🎜🎜Un simple point de terminaison d'API REST peut gérer les requêtes JSON et renvoyer des réponses : 🎜rrreee🎜 En utilisant ces méthodes, vous pouvez facilement analyser le corps de la requête HTTP dans Golang et recevoir les données requises du client. 🎜Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!