Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Memindahkan Data dengan Berkesan daripada Middleware kepada Pengendali dalam Go?

Bagaimana untuk Memindahkan Data dengan Berkesan daripada Middleware kepada Pengendali dalam Go?

Linda Hamilton
Lepaskan: 2024-11-09 05:46:02
asal
988 orang telah melayarinya

How to Effectively Transfer Data from Middleware to Handlers in Go?

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")
})
Salin selepas log masuk

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!

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