php エディターの Youzi が、Go/Gin デバッグ出力の「(x handlers)」の意味を説明します。 Go 言語の Jin フレームワークでは、「(x ハンドラー)」はリクエストが通過するミドルウェアの数を表します。ミドルウェアは、Gin フレームワーク内のリクエストを処理するためのメカニズムであり、リクエストがルーティング処理機能に到達する前または後にいくつかの操作を実行できます。各ミドルウェアは、最終的にハンドラー関数に到達するまで、リクエストを次のミドルウェアに渡します。 「(x ハンドラー)」の「x」はミドルウェアの数を表しており、開発者がリクエストの処理中に処理されたミドルウェアの数を把握するのに役立ちます。ミドルウェアの数を観察することで、開発者はリクエスト処理プロセスをより深く理解し、コードのデバッグと最適化を容易にすることができます。この回答がお役に立てば幸いです!
以下の 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)
これは、各ルートの ハンドラー チェーン 内のハンドラーの数、つまり、リクエストがエンドポイントにルーティングされるときに実行される処理である必要があります。プログラム(ミドルウェアを含む)の最大数。
関連コードは gin ソース @latest からのものです:
リーリー ルートを宣言する前に、router.use
を使用するなど、グローバル ミドルウェアをセットアップしていて、どのルートにも各ルートのミドルウェアがない場合、番号が常に同じである理由がこれで説明されます。
たとえば、次のことを考慮してください:
リーリー印刷:
リーリー/foo のチェーンには
first ミドルウェアとハンドラー自体 (2) があり、
/bar のチェーンには
first# があるためです。 # # および 2 番目
ミドルウェアとハンドラー自体 (3)。
以上がGo/Gin デバッグ出力の意味 - (x ハンドラー)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。