ホームページ >バックエンド開発 >Golang >Go/Gin デバッグ出力の意味 - (x ハンドラー)

Go/Gin デバッグ出力の意味 - (x ハンドラー)

WBOY
WBOY転載
2024-02-09 08:15:19545ブラウズ

Go/Gin 调试输出的含义是什么 - (x handlers)

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 サイトの他の関連記事を参照してください。

声明:
この記事はstackoverflow.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。