Bagaimana untuk Menjadikan Parameter Pertanyaan Pilihan dalam Permintaan GET Gorilla Mux?

Barbara Streisand
Lepaskan: 2024-10-31 19:18:02
asal
624 orang telah melayarinya

How to Make Query Parameters Optional in Gorilla Mux GET Requests?

Parameter Pertanyaan Pilihan dalam Permintaan GET Menggunakan Gorilla Mux

Apabila bekerja dengan permintaan HTTP GET dalam Gorilla Mux, selalunya wajar untuk membenarkan parameter pertanyaan pilihan. Secara lalai, menentukan parameter pertanyaan dalam definisi laluan (cth. Pertanyaan("nama pengguna", "{nama pengguna}")) menjadikan kehadirannya wajib.

Masalahnya

Seperti yang diserlahkan dalam soalan, kod yang disediakan memerlukan kedua-dua parameter pertanyaan "nama pengguna" dan "e-mel" hadir dalam permintaan. Walau bagaimanapun, keperluan adalah untuk mempunyai fleksibiliti untuk menyediakan salah satu atau kedua-dua parameter, membenarkan rentetan pertanyaan pilihan.

Penyelesaian

Untuk menangani perkara ini, langkah berikut adalah disyorkan:

  1. Alih Keluar Pertanyaan daripada Definisi Laluan: Alih keluar blok Pertanyaan daripada definisi laluan, seperti yang ditunjukkan di bawah:
r.HandleFunc("/user", UserByValueHandler).Methods("GET")
Salin selepas log masuk
  1. Ekstrak Parameter Pertanyaan dalam Fungsi Pengendali: Dalam UserByValueHandler, dapatkan semula parameter pertanyaan menggunakan r.URL.Query():
func UserByValueHandler(w http.ResponseWriter, r *http.Request) {
       v := r.URL.Query()

       username := v.Get("username")
       email := v.Get("email")
       .....
}
Salin selepas log masuk

Pendekatan ini membenarkan parameter pertanyaan pilihan . Jika parameter tertentu tidak diberikan dalam permintaan, v.Get() akan mengembalikan rentetan kosong, yang boleh dikendalikan dengan sewajarnya dalam kod.

Atas ialah kandungan terperinci Bagaimana untuk Menjadikan Parameter Pertanyaan Pilihan dalam Permintaan GET Gorilla Mux?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!