Terdapat tiga cara utama untuk menghuraikan kandungan permintaan HTTP dalam Go: Gunakan io.ReadAll untuk membaca keseluruhan kandungan. Gunakan json.Decoder untuk menghuraikan kandungan JSON. Gunakan r.ParseMultipartForm untuk menghuraikan data borang.
Menghuraikan isi permintaan HTTP di Golang
Menghuraikan kandungan permintaan HTTP adalah penting untuk menerima data daripada pelanggan dan memproses permintaan. Golang menyediakan berbilang kaedah untuk menghuraikan kandungan permintaan, dan artikel ini akan meneroka kaedah yang paling biasa digunakan.
Kaedah penghuraian
1 Gunakan io.ReadAll
untuk membaca keseluruhan teksio.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. Gunakan json.Decoder
untuk menghuraikan teks JSON . Dengan menggunakan kaedah ini, anda boleh menghuraikan badan permintaan HTTP dengan mudah di Golang dan menerima data yang diperlukan daripada klien.
Atas ialah kandungan terperinci Menghuraikan isi permintaan HTTP dalam Golang. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!