Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?

Bagaimana untuk Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-12-10 17:22:10744semak imbas

How to Access Query Strings in Go's HTTP POST Requests?

Mengakses Rentetan Pertanyaan dalam Permintaan POST dengan Pakej HTTP Go

Apabila mengendalikan permintaan POST dengan pakej HTTP Go, mengakses dan menghuraikan rentetan pertanyaan boleh penting. Pakej HTTP menyediakan kaedah mudah untuk mengekstrak rentetan pertanyaan: Query().

Dalam permintaan POST, rentetan pertanyaan biasanya dilampirkan pada URL, yang mengandungi pasangan nilai kunci maklumat . Kaedah Query() mendapatkan semula pasangan nilai kunci ini dan menghuraikannya ke dalam peta Nilai.

Untuk mengakses rentetan pertanyaan dalam permintaan POST, ikut langkah berikut:

  • Ekstrak URL: Daripada objek *http.Request, dapatkan URL menggunakan r.URL.
  • Menghuraikan Rentetan Pertanyaan: Gunakan kaedah Query() pada URL untuk menghuraikan rentetan pertanyaan. Ini mengembalikan peta Nilai, dengan kunci mewakili nama parameter dan nilai yang sepadan ialah tatasusunan nilai untuk parameter tersebut.
  • Nilai Parameter Akses: Untuk mendapatkan nilai parameter daripada peta Nilai, gunakan sama ada notasi indeks Get() atau [].
  • NOTA: Kepekaan huruf besar kecil adalah penting apabila mengakses kekunci parameter dalam peta Nilai.

Contohnya:

func newHandler(w http.ResponseWriter, r *http.Request) {
  fmt.Println("GET params were:", r.URL.Query())

  // if only one expected
  param1 := r.URL.Query().Get("param1")
  if param1 != "" {
    // ... process it, will be the first (only) if multiple were given
    // note: if they pass in like ?param1=&param2= param1 will also be "" :|
  }

  // if multiples possible, or to process empty values like param1 in
  // ?param1=&param2=something
  param1s := r.URL.Query()["param1"]
  if len(param1s) > 0 {
    // ... process them ... or you could just iterate over them without a check
    // this way you can also tell if they passed in the parameter as the empty string
    // it will be an element of the array that is the empty string
  }    
}

Atas ialah kandungan terperinci Bagaimana untuk Mengakses Rentetan Pertanyaan dalam Permintaan HTTP POST Go?. 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