Repolode
labstack

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. 1

    GoプロジェクトにEcho v5モジュールをインストールします

    go get github.com/labstack/echo/v5
  2. 2

    READMEのサンプルコードを使ってmain.goを作成します

  3. 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 の数値は毎日更新されます。

関連プロジェクト