Martini風のAPIを備え、REST API、Webアプリ、マイクロサービス向けに作られた、高性能なGo用HTTP Webフレームワークです。
labstack/echo
Go標準のnet/httpを基盤とする、高速で軽量なWebフレームワーク。
- スター
- 32,776
- フォーク
- 4,917
- 未解決の Issue
- 76
- 最終コミット
- 9 日前
これは何?
Echoは、HTTPサーバーやAPIを構築するためのGo製Webフレームワークです。Go標準のnet/httpをラップし、WrapHandlerやWrapMiddlewareを通じて連携しながら、標準ライブラリでは開発者に委ねられている機能を提供します。具体的には、radix treeルーター、プラグイン可能なバリデーションに対応したリクエストデータのバインディング、ミドルウェアシステム、集中管理されたエラーハンドリングを備えています。
ハンドラーには、リクエストの読み取りや、JSON、XML、HTML、ファイル、ストリームの書き込みに使えるコンテキストオブジェクトが渡されます。ミドルウェアはルート、グループ、個別のルートに設定できます。JWT認証、OpenTelemetry、Prometheusメトリクス、pprof用の公式ミドルウェアが提供されており、TLS、HTTP/2、Let's Encryptによる証明書の自動取得、グレースフルシャットダウンにも対応しています。
現在のメジャーバージョンはv5で、v4には2026年末までセキュリティ修正が提供されます。
主な機能
- 01ルートグループに対応した高速なradix treeルーター
- 02JSON、XML、フォーム、クエリ、パスパラメーターのリクエストバインディングと、プラグイン可能なバリデーション
- 03log/slogを利用した集中管理型のエラーハンドリングと構造化リクエストログ
- 04任意のテンプレートエンジンを使ったテンプレート描画
- 05TLS、HTTP/2、Let's Encryptによる証明書の自動取得、グレースフルシャットダウン
ユースケース
- GoでREST APIやJSON APIを構築する
- 認証、ログ、メトリクス用のミドルウェアが必要なマイクロサービスを開発する
- 証明書を自動管理しながらHTTPSサイトを配信する
クイックスタート
- 1
GoプロジェクトにEcho v5モジュールをインストールします
go get github.com/labstack/echo/v5 - 2
READMEのサンプルコードを使ってmain.goを作成します
- 3
サーバーを起動し、http://localhost:8080を開きます
go run main.go
使う前に知っておきたいこと
- Goが必要です。READMEによると、直近3バージョンのGoをサポートしています。
トピック
よくある質問
- echo とは?
- Go標準のnet/httpを基盤とする、高速で軽量なWebフレームワーク。 Echoは、HTTPサーバーやAPIを構築するためのGo製Webフレームワークです。Go標準のnet/httpをラップし、WrapHandlerやWrapMiddlewareを通じて連携しながら、標準ライブラリでは開発者に委ねられている機能を提供します。具体的には、radix treeルーター、プラグイン可能なバリデーションに対応したリクエストデータのバインディング、ミドルウェアシステム、集中管理されたエラーハンドリングを備えています。
- echo は無料で使えますか?ライセンスは?
- echo は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- echo は今もメンテナンスされていますか?
- 活発にメンテナンス中。echo の最終コミットは 2026年10月12日 です。
- echo は何に使えますか?
- GoでREST APIやJSON APIを構築する 認証、ログ、メトリクス用のミドルウェアが必要なマイクロサービスを開発する 証明書を自動管理しながらHTTPSサイトを配信する
- echo のインストール方法は?
- GoプロジェクトにEcho v5モジュールをインストールします: go get github.com/labstack/echo/v5 READMEのサンプルコードを使ってmain.goを作成します サーバーを起動し、http://localhost:8080を開きます: go run main.go
- echo はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/labstack/echo
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
fasthttpエンジンを基盤とした、REST APIやWebサーバーの構築に使えるExpress.jsに着想を得たGo向けWebフレームワーク。
HTTP/WebSocketサービスを構築するための、高速で使いやすいFlask風C++マイクロフレームワーク。ヘッダーオンリーで利用できます。
Cで書かれた、高性能なWebサーバー、リバースプロキシ、ロードバランサー、APIゲートウェイ、コンテンツキャッシュ。
HTTP/1、HTTP/2、WebSocketの通信を調査できる、コンソール・コマンドライン・Webインターフェースを備えたTLS対応の対話型HTTPプロキシ。
独自ドメインとサーバーを使って、localhostのサービスをインターネットに公開するGo製セルフホスト型トンネル。