Bagaimanakah Saya Boleh Menjadikan Parameter Pertanyaan Pilihan dalam Permintaan Gorilla Mux GET?

DDD
Lepaskan: 2024-11-04 15:40:02
asal
419 orang telah melayarinya

How Can I Make Query Parameters Optional in a Gorilla Mux GET Request?

Parameter Pertanyaan dalam Permintaan GET: Parameter Pilihan Menggunakan Gorilla Mux

Dalam Gorilla Mux, parameter pertanyaan digunakan untuk menapis dan mendapatkan data daripada Permintaan HTTP. Secara lalai, semua parameter pertanyaan yang ditentukan perlu hadir dalam permintaan. Walau bagaimanapun, mungkin terdapat kes di mana anda ingin menjadikan beberapa parameter pilihan.

Sebagai contoh, pertimbangkan senario di mana anda mahu permintaan GET mengandungi sama ada parameter "nama pengguna" atau "e-mel", tetapi tidak semestinya kedua-duanya . Sebelum ini, kod anda mungkin kelihatan seperti ini:

<code class="go">r.HandleFunc("/user", userByValueHandler).
    Queries(
        "username", "{username}",
        "email", "{email}",
    ).
    Methods("GET")</code>
Salin selepas log masuk

Kod ini memerlukan "nama pengguna" dan "e-mel" untuk hadir dalam permintaan. Untuk menjadikan parameter ini pilihan, kami boleh mengubah suai kod kami seperti berikut:

<code class="go">r.HandleFunc("/user", UserByValueHandler).Methods("GET")</code>
Salin selepas log masuk

Kini, pengendali laluan "/pengguna" digunakan tanpa mengira kehadiran parameter pertanyaan. Untuk mendapatkan semula parameter pilihan, kita boleh menggunakan kaedah URL.Query() dalam fungsi pengendali:

<code class="go">func UserByValueHandler(w http.ResponseWriter, r *http.Request) {
       v := r.URL.Query()

       username := v.Get("username")
       email := v.Get("email")
       .....
}</code>
Salin selepas log masuk

Fungsi v.Get() akan mengembalikan nilai yang dikaitkan dengan nama parameter yang ditentukan, atau rentetan kosong jika parameter tidak ada. Ini membolehkan kami mengendalikan kedua-dua kes apabila satu atau dua parameter disediakan dalam permintaan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjadikan Parameter Pertanyaan Pilihan dalam Permintaan Gorilla Mux GET?. 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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan