Pemindahan Data daripada Middleware kepada Pengendali
Dalam pembangunan web moden, middleware dan pengendali sering bekerjasama untuk memproses permintaan. Untuk mengelakkan kod pendua, pemindahan data secara berkesan daripada perisian tengah kepada pengendali adalah penting.
Pertimbangkan senario di mana perisian tengah memintas dan menyediakan data, seperti menghuraikan JWT daripada badan permintaan. Berkongsi data yang dihuraikan ini dengan pengendali menghapuskan pertindihan yang tidak perlu.
Menggunakan Pakej Konteks Gorilla
Jika anda menggunakan kit alat Gorilla, manfaatkan pakej konteksnya. Ini membolehkan anda menetapkan dan mendapatkan semula data daripada konteks permintaan tanpa mengubah suai tandatangan kaedah.
// Middleware http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { // Middleware operations token := jwtParser(r) context.Set(r, "token", token) next.ServeHTTP(w, r) }) // Handler http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { token := context.Get(r, "token") })
Nota: Pakej konteks Gorilla kini dalam mod penyelenggaraan dan disyorkan untuk menggunakan konteks Go asli.Ciri konteks diperkenalkan dalam Go 1.7.
Atas ialah kandungan terperinci Bagaimana untuk Memindahkan Data dengan Berkesan daripada Middleware kepada Pengendali dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!