高速
基数木ベースのルーティング、少ないメモリ使用量。リフレクション不使用。予測可能なAPIパフォーマンス。
GinはGo言語(Golang)で書かれたWebフレームワークです。Martiniに似たAPIを備えていますが、Martiniの最大40倍高速なパフォーマンスを誇ります。パフォーマンスと生産性の両方を求めるなら、Ginを気に入るでしょう。
高速
基数木ベースのルーティング、少ないメモリ使用量。リフレクション不使用。予測可能なAPIパフォーマンス。
ミドルウェアサポート
受信したHTTPリクエストは、ミドルウェアのチェーンと最終的なアクションで処理できます。例:Logger、認可、GZIP、そして最終的にDBへのメッセージ投稿。
クラッシュフリー
GinはHTTPリクエスト中に発生したpanicをキャッチしてリカバリできます。これにより、サーバーは常に利用可能な状態を維持します。例えばSentryにpanicを報告することも可能です!
JSONバリデーション
GinはリクエストのJSONをパースしてバリデーションできます。例えば、必須値の存在チェックなどが可能です。
ルートグルーピング
ルートをより適切に整理できます。認可が必要なルートと不要なルート、異なるAPIバージョンなど。さらに、グループはパフォーマンスを低下させることなく無限にネストできます。
エラー管理
Ginは、HTTPリクエスト中に発生したすべてのエラーを収集する便利な方法を提供します。最終的に、ミドルウェアでログファイルやデータベースへの書き込み、ネットワーク経由の送信が可能です。
組み込みレンダリング
GinはJSON、XML、HTMLレンダリングのための使いやすいAPIを提供します。
拡張可能
新しいミドルウェアの作成はとても簡単です。サンプルコードをご覧ください。