Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah cara saya menyampaikan Permintaan Konteks dalam Golang kepada Middleware dan Pengendali?
Cara Menghantar Permintaan Konteks dalam Golang kepada Middleware
Di Golang, konsep konteks membolehkan pembangun menghantar data dan mengubah suai permintaan dalam pengendali dan perisian tengah. Untuk menggunakan konteks dengan berkesan, adalah penting untuk memahami cara menghantarnya dengan betul.
Apabila mentakrifkan perisian tengah, adalah perlu untuk membalut pengendali yang disediakan untuk menggabungkan fungsi tambahan. Ini dicapai menggunakan Penutupan, yang mengembalikan pengendali HTTP dengan pengubahsuaian yang dikehendaki. Konteks itu kemudiannya boleh dihantar kepada pengendali asas dengan memanggil kaedah ServeHTTP()nya.
Sebagai contoh, untuk mengesahkan pengguna, anda boleh mencipta fungsi middleware yang dipanggil checkAuth(), yang menerima token pengesahan dan mengembalikan yang lain fungsi. Fungsi ini membungkus pengendali sebenar yang mengendalikan permintaan dan menyemak sama ada permintaan itu mengandungi token yang sah.
Seterusnya, pertimbangkan struct Pengendali, yang mewakili pengendali yang bertanggungjawab untuk memproses permintaan. Di dalam kaedah ServeHTTP()nya, pengendali mungkin perlu mengakses maklumat daripada konteks, seperti menyahkod parameter permintaan atau menghantar data kepada perkhidmatan luaran.
Dalam fungsi utama, anda memulakan penghala dan memanggil mux.NewRouter () untuk mencipta kejadian baharu. Untuk menghantar konteks kepada perisian tengah yang dibenarkan, anda memperoleh konteks daripada konteks Latar Belakang dengan menggunakan kaedah WithContext() pada permintaan.
Akhir sekali, untuk mengakses konteks yang diluluskan dalam perisian tengah, anda boleh mendapatkannya semula dengan memanggil r.Context(). Anda kemudiannya boleh menyimpan maklumat tambahan dalam konteks menggunakan kaedah WithValue() dan mendapatkannya kemudian dalam pengendali.
Dengan mengikuti langkah ini, anda boleh menghantar konteks dalam permintaan Golang dengan berkesan kepada perisian tengah dan kepada pengendali, membolehkan pengubahsuaian permintaan dan perkongsian data merentasi bahagian aplikasi anda yang berlainan.
Atas ialah kandungan terperinci Bagaimanakah cara saya menyampaikan Permintaan Konteks dalam Golang kepada Middleware dan Pengendali?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!