Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyalurkan Hujah kepada Pengendali Penghala Gin di Golang?
Menyampaikan Argumen kepada Pengendali Penghala di Golang dengan Gin
Apabila membangunkan API RESTful di Golang menggunakan rangka kerja web Gin, anda mungkin menghadapi keperluan untuk menyampaikan hujah kepada pengendali laluan anda. Ini berguna untuk menggunakan semula sumber, seperti sambungan pangkalan data, merentas laluan.
Terdapat dua pendekatan biasa untuk menyampaikan hujah kepada pengendali laluan:
Berikut ialah contoh menggunakan penutupan:
// SomeHandler returns a `func(*gin.Context)` to satisfy Gin's router methods // db is an example argument that you want to pass down to the handler func SomeHandler(db *sql.DB) gin.HandlerFunc { fn := func(c *gin.Context) { // Your handler code goes in here // You now have access to the db variable // Example request handling rows, err := db.Query(...) c.String(200, results) } return gin.HandlerFunc(fn) } func main() { db, err := sql.Open(...) // Handle error router := gin.Default() router.GET("/test", SomeHandler(db)) router.Run(":8080") }
Dalam senario ini, fungsi SomeHandler mencipta penutupan yang membalut pengendali laluan sebenar. Penutupan menangkap pembolehubah db, membenarkan pengendali mengaksesnya.
Ingat bahawa teknik ini boleh digunakan pada sebarang jenis hujah yang perlu anda hantar kepada pengendali laluan anda.
Atas ialah kandungan terperinci Bagaimana untuk Menyalurkan Hujah kepada Pengendali Penghala Gin di Golang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!