在下面的Go/Gin调试输出中,(5个处理程序)的含义是什么?正如你所看到的,我显然有5个以上的处理程序。
[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)
1条答案
按热度按时间mnowg1ta1#
它应该是每个路由的处理程序链中的处理程序数量,即当请求被路由到某个端点时将执行的处理程序(包括中间件)的最大数量。
相关代码来自Gin来源@latest:
如果您在声明路由之前设置了一些全局中间件,例如使用
router.Use
,并且没有路由具有每个路由的中间件,这就解释了为什么数量总是相同的。例如,请考虑以下内容:
这将打印:
因为
/foo
的链具有FIRST
中间件和处理程序本身(2),而/bar
的链具有FIRST
和SECOND
中间件,加上处理程序本身(3)。