Mengendalikan Permintaan Prapenerbangan CORS dengan Go
Dalam pelayan bahagian belakang RESTful yang ditulis dalam Go, pengendalian permintaan HTTP silang asal memerlukan menangani permintaan CORS prapenerbangan . Inilah cara untuk menangani mereka dengan berkesan:
1. Semakan Kaedah Manual:
Dalam net/http, kaedah permintaan boleh disemak dalam fungsi pengendali. Contohnya:
func AddResourceHandler(rw http.ResponseWriter, r *http.Request) { switch r.Method { case "OPTIONS": // Preflight handling logic case "PUT": // Actual request response } }
2. Pakej Gorilla Mux:
Gorilla Mux membenarkan pendaftaran pengendali pra-penerbangan yang berasingan untuk setiap laluan URL. Contohnya:
r := mux.NewRouter() r.HandleFunc("/someresource/item", AddResourceHandler).Methods("PUT") r.HandleFunc("/someresource/item", PreflightAddResourceHandler).Methods("OPTIONS")
3. Pembalut Pengendali HTTP:
Untuk memisahkan logik dan menggunakan semula pengendali CORS, pertimbangkan untuk membalut pengendali REST. Contohnya, dalam net/http:
func corsHandler(h http.Handler) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { if r.Method == "OPTIONS" { // Preflight handling } else { h.ServeHTTP(w, r) } } }
Penggunaan:
http.Handle("/endpoint/", corsHandler(restHandler))
Pendekatan ini menyediakan penyelesaian yang elegan untuk mengendalikan permintaan pra-penerbangan CORS dalam Go. Pilih yang paling sesuai dengan seni bina aplikasi anda.
Atas ialah kandungan terperinci Bagaimana Mengendalikan Permintaan Prapenerbangan CORS dengan Cekap dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!