Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Menguasai Go: Anatomi Permintaan POST

Menguasai Go: Anatomi Permintaan POST

WBOY
WBOYasal
2024-04-08 08:24:01906semak imbas

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.

精通 Go 语言:剖析 POST 请求

Mahir dalam bahasa Go: Menghuraikan permintaan POST

Permintaan POST ialah kaedah HTTP yang digunakan untuk menyerahkan data ke pelayan. Dalam bahasa Go, proses menghuraikan permintaan POST adalah mudah.

Menghuraikan data borang

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() 函数获取特定字段的值。

解析 JSON 数据

另一种常见的 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

Menghuraikan data JSON

Satu lagi jenis permintaan POST biasa ialah data JSON. Begini cara menghuraikan data JSON:

rrreee

Dalam contoh di atas, kami menggunakan pakej encoding/json untuk menghuraikan data JSON ke dalam struktur Go. Ini membolehkan kami mengakses medan individu data yang diminta dengan mudah.
  • Kes Praktikal
  • Berikut ialah beberapa kes praktikal yang menunjukkan cara menggunakan bahasa Go untuk menghuraikan permintaan POST:
  • Gunakan data borang untuk pendaftaran pengguna
🎜Gunakan data JSON untuk mengemas kini maklumat pengguna🎜🎜Gunakan permintaan POST untuk menyerahkan fail muat naik🎜🎜

Atas ialah kandungan terperinci Menguasai Go: Anatomi Permintaan POST. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn