はじめに
GinはGo(Golang)で書かれたWebフレームワークです。 MartiniのようなAPIを備えていますが、httprouterのおかげで最大40倍高速なパフォーマンスを誇ります。 パフォーマンスと優れた生産性が必要な場合は、Ginを気に入っていただけるでしょう。
このセクションでは、Ginとは何か、どのような問題を解決するのか、そしてプロジェクトにどのように役立つのかについて説明します。
または、プロジェクトでGinを使用する準備ができている場合は、クイックスタートをご覧ください。
機能
高速
Radixツリーベースのルーティング、小さなメモリフットプリント。 リフレクションなし。 予測可能なAPIパフォーマンス。
ミドルウェアのサポート
着信HTTPリクエストは、ミドルウェアのチェーンと最終的なアクションによって処理できます。 例:ロガー、認証、GZIP、そして最後にDBにメッセージを投稿します。
クラッシュフリー
Ginは、HTTPリクエスト中に発生したパニックをキャッチして回復できます。 これにより、サーバーは常に利用可能になります。 例として、このパニックをSentryに報告することも可能です!
JSON検証
Ginは、リクエストのJSONを解析および検証できます。たとえば、必須値の有無を確認できます。
ルートのグループ化
ルートをより適切に整理します。 認証が必要な場合とそうでない場合、異なるAPIバージョンなど。 また、グループは無制限にネストでき、パフォーマンスが低下することはありません。
エラー管理
Ginは、HTTPリクエスト中に発生したすべてのエラーを収集するための便利な方法を提供します。 最終的に、ミドルウェアはそれらをログファイル、データベースに書き込み、ネットワーク経由で送信できます。
組み込みレンダリング
Ginは、JSON、XML、HTMLレンダリング用の使いやすいAPIを提供します。
拡張可能
新しいミドルウェアの作成はとても簡単です。サンプルコードをご覧ください。