Rumah > Artikel > pembangunan bahagian belakang > Menguasai Go: Anatomi Permintaan POST
Dalam bahasa Go, menghuraikan permintaan POST dibahagikan kepada langkah berikut: Gunakan ParseForm() untuk menghuraikan data borang. Gunakan FormValue() untuk mendapatkan nilai medan tertentu. Gunakan pakej pengekodan/json untuk menghuraikan data JSON. Gunakan json.Unmarshal() untuk menghuraikan data JSON ke dalam struktur Go.
Permintaan POST ialah kaedah HTTP yang digunakan untuk menyerahkan data ke pelayan. Dalam bahasa Go, proses menghuraikan permintaan POST adalah mudah.
Jenis permintaan POST yang paling biasa ialah data borang. Begini cara menghuraikan data borang:
package main import ( "fmt" "net/http" ) func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { r.ParseForm() name := r.FormValue("name") email := r.FormValue("email") fmt.Fprintf(w, "Name: %s\nEmail: %s", name, email) } }) http.ListenAndServe(":8080", nil) }
Dalam contoh di atas, kami menggunakan fungsi ParseForm()
untuk menghuraikan data borang. Kemudian kita boleh menggunakan fungsi FormValue()
untuk mendapatkan nilai medan tertentu. ParseForm()
函数解析表单数据。然后,我们可以使用 FormValue()
函数获取特定字段的值。
另一种常见的 POST 请求类型是 JSON 数据。以下是如何解析 JSON 数据:
package main import ( "encoding/json" "fmt" "io/ioutil" "net/http" ) type User struct { Name string `json:"name"` Email string `json:"email"` } func main() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { if r.Method == "POST" { bodyBytes, _ := ioutil.ReadAll(r.Body) var user User json.Unmarshal(bodyBytes, &user) fmt.Fprintf(w, "Name: %s\nEmail: %s", user.Name, user.Email) } }) http.ListenAndServe(":8080", nil) }
在上面的示例中,我们使用 encoding/json
rrreee
Dalam contoh di atas, kami menggunakan pakejencoding/json
untuk menghuraikan data JSON ke dalam struktur Go. Ini membolehkan kami mengakses medan individu data yang diminta dengan mudah. Atas ialah kandungan terperinci Menguasai Go: Anatomi Permintaan POST. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!