ページ内ナビ
概要
GrapeはRubyでREST-like APIを構築するためのRackベースframeworkです。HTTP methodとpathをDSLで定義し、parameter validation/coercion、versioning、content negotiation、error handling、middleware、API mountingを一つのAPI classへまとめられます。masterは次期4.1.0を示し、CHANGELOG上の直近releaseは4.0.1です。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
route・namespace・versionをDSLで定義しAPI endpointを組み立てる
GET/POST/PUT/DELETE等のroute、namespace、mountをRuby DSLで構成し、path/header/parameterを使ったAPI versioningやformat negotiationを組み込めます。Rack applicationとして単独利用でき、Rails等へmountする構成にも使えます。
出典:[2]
paramsの型・必須条件・coercion・validationをendpoint定義の近くへ置く
requiresやoptionalで入力条件を宣言し、型変換、values制約、nested params、custom validator、declaredによる許可済みparameter抽出を利用できます。request parsingとvalidation error responseをAPI層へ集約できます。
出典:[2]
向いている用途
JSON API・internal service・microserviceをRubyで明示的に設計したい場合に向く
full-stack UIを必要とせずAPI surfaceへ集中したいbackend、既存Rails applicationへ独立したAPIをmountしたい構成、versioned REST-like endpointを小さなclass群へ分割したい場合に適します。
出典:[2]
導入前の確認
masterは4.1.0 Next。Ruby 3.3.1+と依存versionを確認しreleaseを固定する
現在のmasterはGrape::VERSION = 4.1.0ですがCHANGELOGでは4.1.0をNextとして扱い、直近releaseは4.0.1です。masterのgemspecはRuby 3.3.1以上、ActiveSupport 7.2以上、Rack 2.2.4以上等を要求します。productionではreleased gemを固定し、4.x upgrade時はrouting・params・middlewareの変更をCHANGELOGで確認してください。
参考にした公式資料
- [1]ruby-grape/grape — GitHub repository(2026-10-06)
- [2]Grape — README(2026-10-06)
- [3]Grape — version source(2026-10-06)
- [4]Grape — grape.gemspec(2026-10-06)
- [5]Grape — CHANGELOG(2026-10-06)
- [6]Grape — MIT License(2026-10-06)
編集部からの補足
Railsのfull-stack機能を持ち込まずAPI layerを明示的に作りたい場合に向きます。masterは4.1.0 Nextなので、productionではreleased gemを固定し、Ruby・ActiveSupport・Rackの要件と4.x変更点を確認してください。
3ステップで試す
- 1
ソースを取得
git clone --depth 1 https://github.com/ruby-grape/grape.git - 2
リポジトリへ移動
cd grape - 3
公式手順を確認
READMEのInstallation / Quick Start / Getting Startedにある公式コマンドを続けて実行してください。
find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
成長
成長の推移 · 直近30日
10,009 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 93
- Open PR
- 30
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- Hanami6,422 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Router・Action・View・DBを小さなcomponentとして組み合わせ、保守しやすいRuby applicationを構築する
Ruby - Faraday5,951 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
RubyのHTTP通信を共通APIで扱い、アダプターとミドルウェアを用途に合わせて組み替えるクライアントライブラリ
Ruby - Pagy4,994 Stars
共通タグ 3件 · 共通カテゴリ 2件 · 同じ言語
Ruby appへoffset・keyset・countless等のpaginationを軽量に組み込む
Ruby - Fiber40,204 Stars
共通タグ 3件 · 共通カテゴリ 2件
fasthttp上でExpress風Routing・Binding・MiddlewareをまとめるGo Web Framework
Go - Echo32,754 Stars
共通タグ 3件 · 共通カテゴリ 2件
Go標準のnet/httpを土台にルーティング・ミドルウェア・エラー処理をまとめるWebフレームワーク
Go - Axum27,382 Stars
共通タグ 3件 · 共通カテゴリ 2件
ルーティング・extractor・Tower middlewareでRustのHTTP APIを構築する
Rust
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。