


Penjelasan terperinci tentang middleware rangka kerja Gin dan aplikasinya
Rangka kerja Gin ialah rangka kerja web yang ringan berdasarkan bahasa Go. Ia mempunyai kelebihan kecekapan tinggi, fleksibiliti dan kebolehskalaan yang mudah, dan disukai oleh banyak pembangun. Mekanisme perisian tengah ialah sorotan rangka kerja Gin. Dalam artikel ini, kami akan meneroka mekanisme perisian tengah bagi rangka kerja Gin dan aplikasinya secara terperinci.
1. Apakah itu middleware
Middleware merujuk kepada pemalam yang memintas dan menulis semula logik pemprosesan permintaan dan respons semasa proses memproses permintaan rangkaian. Dalam bahasa Go, middleware biasanya dilaksanakan menggunakan jenis fungsi. Perisian tengah rangka kerja Gin dilaksanakan dengan menghantar fungsi ini sebagai parameter formal kepada fungsi yang mengendalikan permintaan dan respons.
Dalam rangka kerja Gin, middleware terbahagi kepada dua jenis: middleware global dan middleware tempatan. Perisian tengah global bertindak pada semua laluan, manakala perisian tengah tempatan bertindak pada laluan atau kumpulan penghalaan tertentu.
2. Mekanisme perisian tengah rangka kerja Gin
Mekanisme perisian tengah rangka kerja Gin adalah sangat mudah Anda hanya perlu menghantar perisian tengah sebagai jenis fungsi kepada fungsi yang mengendalikan permintaan dan tindak balas.
Sebagai contoh, kod berikut ialah middleware yang ringkas:
func MyMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // do something c.Next() // do something after } }
Antaranya, fungsi MyMiddleware
mentakrifkan fungsi middleware yang mengembalikan jenis fungsi. Jenis fungsi yang dikembalikan ialah fungsi yang mengendalikan permintaan dan respons, biasanya dipanggil HandlerFunc
.
HandlerFunc
ditakrifkan seperti berikut:
type HandlerFunc func(*Context)
Ia menerima parameter jenis *Context
, mewakili konteks permintaan. Jenis *Context
mengandungi pelbagai maklumat dalam permintaan, seperti pengepala permintaan, badan permintaan, parameter permintaan, dsb.
Dalam fungsi middleware, kita boleh beroperasi pada konteks dan memanggil kaedah c.Next()
untuk menghantar kawalan kepada middleware atau fungsi pemprosesan laluan seterusnya.
Sebagai contoh, jika kita ingin menambah pengepala permintaan dalam middleware, kita boleh melakukan perkara berikut:
func AddHeader() gin.HandlerFunc { return func(c *gin.Context) { c.Header("X-Request-Id", "123456") c.Next() } }
Perisian tengah ini akan menambah pengepala X-Request-Id
pada permintaan dan kemudian mengawal The kanan dihantar ke fungsi pemprosesan seterusnya. Dalam fungsi pemprosesan penghalaan, kita boleh mendapatkan nilai pengepala permintaan ini melalui kaedah c.GetHeader
.
3. Penggunaan perisian tengah dalam rangka kerja Gin
Dalam rangka kerja Gin, menggunakan perisian tengah adalah sangat mudah. Hanya hantar fungsi middleware kepada Use
, GET
, POST
, PUT
, DELETE
dan kaedah lain. Contohnya:
import ( "github.com/gin-gonic/gin" ) func main() { r := gin.Default() // 使用全局中间件 r.Use(MyGlobalMiddleware()) // 定义路由组,并使用局部中间件 v1 := r.Group("/v1") { v1.Use(AddHeader()) v1.GET("/hello", Hello) } r.Run(":8080") } func MyGlobalMiddleware() gin.HandlerFunc { return func(c *gin.Context) { // do something c.Next() // do something after } } func AddHeader() gin.HandlerFunc { return func(c *gin.Context) { c.Header("X-Request-Id", "123456") c.Next() } } func Hello(c *gin.Context) { headers := c.Request.Header requestId := headers.Get("X-Request-Id") c.JSON(200, gin.H{ "message": "hello", "request_id": requestId, }) }
Dalam kod di atas, kami menggunakan perisian tengah global MyGlobalMiddleware()
, yang akan bertindak pada semua laluan. Kami juga menggunakan perisian tengah tempatan AddHeader()
, yang hanya bertindak sebelum laluan /v1/hello
. Dalam fungsi Hello
, kami memperoleh nilai pengepala permintaan X-Request-Id
dan mengembalikannya kepada pemanggil.
Melalui demonstrasi kod ini, kita dapat melihat kaedah mudah dan mudah untuk menggunakan perisian tengah dalam rangka kerja Gin.
4. Perisian tengah biasa
Selain perisian tengah tersuai di atas, rangka kerja Gin juga menyediakan banyak perisian tengah biasa Mari perkenalkan secara ringkas beberapa perisian tengah yang lebih penting:
- Logger middleware
Logger middleware adalah middleware yang bertanggungjawab untuk mengeluarkan log akses Apabila permintaan diproses separuh jalan, middleware ini akan mengeluarkan permintaan pengelogan, seperti URL yang diminta, kaedah permintaan, permintaan pengepala, dsb.
Dalam rangka kerja Gin, perisian tengah Logger boleh diperkenalkan menggunakan kod berikut:
r := gin.New() r.Use(gin.Logger())
Dengan memperkenalkan perisian tengah Logger, kita boleh melihat maklumat terperinci setiap permintaan dalam log akses.
- Perisian tengah pemulihan
Perisian tengah pemulihan ialah perisian tengah pengendalian ralat Apabila pengecualian berlaku dalam atur cara, perisian tengah ini akan memulihkan operasi biasa program dan mengeluarkan ralat mesej.
Dalam rangka kerja Gin, perisian tengah Pemulihan boleh diperkenalkan menggunakan kod berikut:
r := gin.Default() r.Use(gin.Recovery())
Selepas memperkenalkan perisian tengah ini, jika pengecualian berlaku dalam program, ia tidak akan ranap secara langsung, tetapi akan kembali kepada normal Jalankan dan keluarkan mesej ralat untuk membantu kami mencari masalah dengan cepat.
- Cors middleware
Cors middleware digunakan untuk mengendalikan permintaan merentas domain Apabila kami perlu menghantar permintaan kepada API di bawah nama domain yang berbeza, ia mestilah disahkan oleh CORS Jika tidak permintaan akan ditolak.
Dalam rangka kerja Gin, perisian tengah Cors boleh diperkenalkan menggunakan kod berikut:
r := gin.Default() r.Use(cors.Default())
Selepas memperkenalkan perisian tengah ini, kami boleh menghantar permintaan kepada API di bawah nama domain yang berbeza tanpa perlu risau tentang Pengesahan CORS gagal.
5. Ringkasan
Artikel ini terutamanya memperkenalkan mekanisme middleware bagi rangka kerja Gin dan aplikasinya Dalam pembangunan sebenar, middleware memainkan peranan yang sangat penting. Melalui pemahaman yang mendalam tentang mekanisme perisian tengah, kami boleh menggunakan fungsinya dengan lebih baik dan meningkatkan kecekapan pembangunan dan kebolehselenggaraan program kami.
Dengan memperkenalkan middleware biasa, kami juga boleh menjadikan program ini mempunyai lebih banyak fungsi, seperti output log, pengendalian ralat, permintaan merentas domain, dll., supaya dapat menyesuaikan diri dengan lebih baik kepada senario aplikasi sebenar.
Oleh itu, dalam proses pembangunan rangka kerja Gin, menguasai penggunaan perisian tengah adalah kemahiran yang sangat penting.
Atas ialah kandungan terperinci Penjelasan terperinci tentang middleware rangka kerja Gin dan aplikasinya. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas





Cara melaksanakan middleware tersuai dalam CodeIgniter Pengenalan: Dalam pembangunan web moden, middleware memainkan peranan penting dalam aplikasi. Ia boleh digunakan untuk melaksanakan beberapa logik pemprosesan yang dikongsi sebelum atau selepas permintaan sampai kepada pengawal. CodeIgniter, sebagai rangka kerja PHP yang popular, juga menyokong penggunaan middleware. Artikel ini akan memperkenalkan cara untuk melaksanakan perisian tengah tersuai dalam CodeIgniter dan memberikan contoh kod mudah. Gambaran keseluruhan Middleware: Middleware ialah sejenis permintaan

Prinsip perisian tengah tomcat dilaksanakan berdasarkan spesifikasi Java Servlet dan Java EE. Sebagai bekas Servlet, Tomcat bertanggungjawab untuk memproses permintaan dan respons HTTP dan menyediakan persekitaran berjalan untuk aplikasi Web. Prinsip-prinsip perantara Tomcat terutamanya melibatkan: 1. Model kontena 2. Mekanisme pemprosesan Servlet 5. Pengurusan konfigurasi 7. Penyambung dan pengimbangan; teknologi; 9. Mod terbenam, dsb.

Melaksanakan pengesahan pengguna menggunakan perisian tengah dalam rangka kerja Slim Dengan pembangunan aplikasi web, pengesahan pengguna telah menjadi ciri penting. Untuk melindungi maklumat peribadi pengguna dan data sensitif, kami memerlukan kaedah yang boleh dipercayai untuk mengesahkan identiti pengguna. Dalam artikel ini, kami akan memperkenalkan cara untuk melaksanakan pengesahan pengguna menggunakan perisian tengah rangka kerja Slim. Rangka kerja Slim ialah rangka kerja PHP ringan yang menyediakan cara yang mudah dan pantas untuk membina aplikasi web. Salah satu ciri yang berkuasa adalah bahagian tengah

Cara menggunakan perisian tengah untuk mengendalikan pengesahan borang dalam Laravel, contoh kod khusus diperlukan Pengenalan: Pengesahan borang ialah tugas yang sangat biasa dalam Laravel. Untuk memastikan kesahihan dan keselamatan data yang dimasukkan oleh pengguna, kami biasanya mengesahkan data yang diserahkan dalam borang. Laravel menyediakan fungsi pengesahan borang yang mudah dan juga menyokong penggunaan perisian tengah untuk mengendalikan pengesahan borang. Artikel ini akan memperkenalkan secara terperinci cara menggunakan perisian tengah untuk mengendalikan pengesahan borang dalam Laravel dan memberikan contoh kod khusus.

Cara menggunakan perisian tengah untuk pecutan data dalam Laravel Pengenalan: Apabila membangunkan aplikasi web menggunakan rangka kerja Laravel, pecutan data adalah kunci untuk meningkatkan prestasi aplikasi. Middleware ialah ciri penting yang disediakan oleh Laravel yang mengendalikan permintaan sebelum ia mencapai pengawal atau sebelum respons dikembalikan. Artikel ini akan menumpukan pada cara menggunakan perisian tengah untuk mencapai pecutan data dalam Laravel dan memberikan contoh kod khusus. 1. Apakah middleware itu adalah mekanisme dalam rangka kerja Laravel

Cara menggunakan middleware untuk penukaran respons dalam Laravel Middleware ialah salah satu ciri yang sangat berkuasa dan praktikal dalam rangka kerja Laravel. Ia membolehkan kami memproses permintaan dan respons sebelum permintaan memasuki pengawal atau sebelum respons dihantar kepada klien. Dalam artikel ini, saya akan menunjukkan cara menggunakan perisian tengah untuk transformasi respons dalam Laravel. Sebelum memulakan, pastikan anda memasang Laravel dan projek baharu dibuat. Sekarang kita akan mengikuti langkah berikut: Cipta perisian tengah baru Terbuka

Laravel ialah rangka kerja aplikasi web PHP yang popular yang menyediakan banyak cara cepat dan mudah untuk membina aplikasi web yang cekap, selamat dan berskala. Apabila membangunkan aplikasi Laravel, kita sering perlu mempertimbangkan isu pemulihan data, iaitu, cara memulihkan data dan memastikan operasi normal aplikasi sekiranya berlaku kehilangan atau kerosakan data. Dalam artikel ini, kami akan memperkenalkan cara menggunakan perisian tengah Laravel untuk melaksanakan fungsi pemulihan data dan menyediakan contoh kod khusus. 1. Apa itu Lara?

Cara menyediakan Perkongsian Sumber Silang Asal (CORS) menggunakan perisian tengah dalam rangka kerja Slim Perkongsian Sumber Silang Asal (CORS) ialah mekanisme yang membolehkan pelayan menetapkan beberapa maklumat tambahan dalam pengepala respons HTTP untuk memberitahu penyemak imbas sama ada Benarkan silang -permintaan asal. Dalam sesetengah projek dengan pemisahan bahagian hadapan dan bahagian belakang, mekanisme CORS boleh digunakan untuk merealisasikan permintaan silang domain bahagian hadapan untuk antara muka bahagian belakang. Apabila menggunakan rangka kerja Slim untuk membangunkan REST API, kita boleh menggunakan middleware (Middleware)
