Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimanakah Saya Boleh Menjadikan Parameter Pertanyaan Pilihan dalam Permintaan Gorilla Mux GET?

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

DDD
DDDasal
2024-11-04 15:40:02354semak imbas

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>

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>

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>

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!

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