Apakah maksud output nyahpepijat Go/Gin - (x pengendali)
editor php Youzi akan menerangkan kepada anda maksud "(pengendali x)" dalam output penyahpepijatan Go/Gin. Dalam rangka kerja Gin bahasa Go, "(x pengendali)" mewakili bilangan perisian tengah yang dilalui oleh permintaan. Middleware ialah mekanisme dalam rangka kerja Gin untuk memproses permintaan. Ia boleh melakukan beberapa operasi sebelum atau selepas permintaan mencapai fungsi pemprosesan penghalaan. Setiap middleware menghantar permintaan kepada middleware seterusnya sehingga ia akhirnya mencapai fungsi pengendali. "x" dalam "(pengendali x)" mewakili bilangan perisian tengah, yang boleh membantu pembangun memahami bilangan perisian tengah yang telah diproses semasa pemprosesan permintaan. Dengan memerhatikan bilangan middleware, pembangun boleh lebih memahami proses pemprosesan permintaan dan memudahkan penyahpepijatan serta mengoptimumkan kod. Harap jawapan ini membantu anda!
Kandungan soalan
Dalam keluaran nyahpepijat go/gin di bawah, apakah maksud (5 pengendali). Seperti yang anda lihat, saya jelas mempunyai lebih daripada 5 pengendali.
[GIN-debug] GET / --> .../handlers.APIDetail (5 handlers) [GIN-debug] POST /signup --> .../handlers.SignUp (5 handlers) [GIN-debug] POST /signin --> .../handlers.SignIn (5 handlers) [GIN-debug] POST /refresh-token --> .../handlers.RefreshToken (5 handlers) [GIN-debug] POST /verify-email --> .../handlers.VerifyEmailVerificationToken (5 handlers) [GIN-debug] POST /resend-verification-email --> .../handlers.ResendEmailVerificationEmail (5 handlers) [GIN-debug] POST /reset-password --> .../handlers.ResetPassword (5 handlers) [GIN-debug] POST /change-password --> .../handlers.ChangePassword (5 handlers) [GIN-debug] PATCH /users/me --> .../handlers.UpdateProfile (5 handlers) [GIN-debug] POST /signout --> .../handlers.SignOut (5 handlers) [GIN-debug] GET /orgs/:id --> .../handlers.GetOrganizations (5 handlers) [GIN-debug] GET /orgs --> .../handlers.GetOrganizations (5 handlers)
Penyelesaian
Ia mestilah bilangan pengendali dalam setiap rantai pengendali laluan, iaitu bilangan maksimum pengendali (termasuk perisian tengah) yang akan dilaksanakan apabila permintaan dihalakan ke titik akhir tertentu.
Kod yang berkaitan datang daripada sumber gin @terkini:
func debugprintroute(httpmethod, absolutepath string, handlers handlerschain) { if isdebugging() { nuhandlers := len(handlers) handlername := nameoffunction(handlers.last()) if debugprintroutefunc == nil { debugprint("%-6s %-25s --> %s (%d handlers)\n", httpmethod, absolutepath, handlername, nuhandlers) } else { debugprintroutefunc(httpmethod, absolutepath, handlername, nuhandlers) } } }
Jika anda menyediakan beberapa perisian tengah global, cth. menggunakan router.use
, sebelum mengisytiharkan laluan, dan tiada laluan mempunyai perisian tengah untuk setiap laluan, ini menerangkan sebab nombor sentiasa sama.
Sebagai contoh, pertimbangkan perkara berikut:
r.use(func(*gin.context) { fmt.println("first") }) r.get("/foo", func(c *gin.context) { c.status(http.statusok) }) r.use(func(*gin.context) { fmt.println("second") }) r.get("/bar", func(c *gin.context) { c.status(http.statusok) })
Cetakan:
[GIN-debug] GET /foo --> main.main.func2 (2 handlers) [GIN-debug] GET /bar --> main.main.func4 (3 handlers)
Sebab /foo
的链有 first
中间件和处理程序本身 (2),而 /bar
的链有 first
和 second
middleware, ditambah dengan pengendali itu sendiri (3).
Atas ialah kandungan terperinci Apakah maksud output nyahpepijat Go/Gin - (x pengendali). 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

AI Hentai Generator
Menjana ai hentai secara percuma.

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



Masalah Threading Giliran di GO Crawler Colly meneroka masalah menggunakan Perpustakaan Colly Crawler dalam bahasa Go, pemaju sering menghadapi masalah dengan benang dan permintaan beratur. � ...

Perpustakaan yang digunakan untuk operasi nombor terapung dalam bahasa Go memperkenalkan cara memastikan ketepatannya ...

Perbezaan antara percetakan rentetan dalam bahasa Go: perbezaan kesan menggunakan fungsi println dan rentetan () sedang ...

Perpustakaan mana yang dibangunkan oleh syarikat besar atau projek sumber terbuka yang terkenal? Semasa pengaturcaraan di GO, pemaju sering menghadapi beberapa keperluan biasa, ...

Apa yang perlu saya lakukan jika label struktur tersuai di Goland tidak dipaparkan? Apabila menggunakan Goland untuk Pembangunan Bahasa GO, banyak pemaju akan menghadapi tag struktur tersuai ...

Dua cara untuk menentukan struktur dalam bahasa Go: perbezaan antara VAR dan jenis kata kunci. Apabila menentukan struktur, pergi bahasa sering melihat dua cara menulis yang berbeza: pertama ...

Masalah menggunakan redisstream untuk melaksanakan beratur mesej dalam bahasa Go menggunakan bahasa Go dan redis ...

GO Pointer Syntax dan menangani masalah dalam penggunaan perpustakaan Viper semasa pengaturcaraan dalam bahasa Go, adalah penting untuk memahami sintaks dan penggunaan petunjuk, terutama dalam ...
