Go/Gin デバッグ出力の意味 - (x ハンドラー)
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 サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Go Crawler Collyのキュースレッドの問題は、Go言語でColly Crawler Libraryを使用する問題を調査します。 �...

Golandのカスタム構造ラベルが表示されない場合はどうすればよいですか?ゴーランドを使用するためにGolandを使用する場合、多くの開発者はカスタム構造タグに遭遇します...

Go言語での文字列印刷の違い:printlnとstring()関数を使用する効果の違いはGOにあります...

大企業または有名なオープンソースプロジェクトによって開発されたGOのどのライブラリが開発されていますか? GOでプログラミングするとき、開発者はしばしばいくつかの一般的なニーズに遭遇します...

redisstreamを使用してGo言語でメッセージキューを実装する問題は、GO言語とRedisを使用することです...

GO言語で構造を定義する2つの方法:VARとタイプのキーワードの違い。構造を定義するとき、GO言語はしばしば2つの異なる執筆方法を見ます:最初...

ポインター構文とviperライブラリの使用における問題への取り組みGO言語でプログラミングするとき、特にポインターの構文と使用を理解することが重要です...
