Help us understand the problem. What is going on with this article?

Grape | API生成マイクロフレームワーク

More than 5 years have passed since last update.

Grapeは、RubyでRESTライクなAPIを生成する為のマイクロフレームワークです。
Grape
photo by Anders Ljungberg

リソース

インストール

Gemfileに、grapeを追記する。

Gemfile
gem 'grape'

インストールする。

$ bundle install

初期設定

libディレクトリ配下に、API実装ファイルを新規作成します。

$ touch lib/api.rb

libディレクトリ配下を自動的に読み込むように設定します。

config/application.rb
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/lib)

ルーティングに、API実装ファイルのマウントを追記します。

config/routes.rb
mount API => "/"

利用方法

基本的な、Grapeの利用方法は以下のようになります。
paramsというブロックにて、パラメータのバリデータチェックも可能です。

lib/api.rb
class API < Grape::API
  # APIアクセスに接頭辞を付加
  # ex) http://localhost:3000/api
  prefix "api"

  # APIアクセスにバージョン情報を付加
  # ex) http://localhost:3000/api/v1
  version 'v1', :using => :path

  resource "users" do
    # ex) http://localhost:3000/api/v1/users
    desc "returns all users"
    get do
      User.all
    end

    # ex) OK: http://localhost:3000/api/v1/users/1
    # ex) NG: http://localhost:3000/api/v1/users/a
    desc "return a user"
    params do
      requires :id, type: Integer
      optional :name, type: String
    end
    get ':id' do
      User.find(params[:id])
    end
  end
end

合わせて読みたい

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした