Rumah >pembangunan bahagian belakang >Golang >Bagaimana untuk Menyalurkan Hujah kepada Pengendali Penghala Gin di Golang?

Bagaimana untuk Menyalurkan Hujah kepada Pengendali Penghala Gin di Golang?

Patricia Arquette
Patricia Arquetteasal
2024-12-10 20:15:10787semak imbas

How to Pass Arguments to Gin Router Handlers in 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:

  1. Pembolehubah Global: Pilihan mudah ialah menyimpan hujah sebagai pembolehubah global. Walau bagaimanapun, pendekatan ini boleh menyebabkan ketidakkonsistenan kod dan tidak sesuai untuk projek yang lebih besar.
  2. Penutupan: Penyelesaian yang lebih bersih ialah menggunakan penutupan. Penutupan membolehkan anda menghantar pembolehubah tambahan kepada pengendali laluan sambil memenuhi antara muka gin.HandlerFunc Gin.

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!

Kenyataan:
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