概要
RubyでAPIをつくるというとなんとなくRailsで作る風潮があると思うのですが、今回はSinatraくんを紹介したいと思います。
理由
上記でも書いたようにrailsは有名で強力なフレームワークなのですが、簡単なAPIならsinatraという選択肢があることを世の中の人に伝えたい。私は伝えたい。
言語/ライブラリ
- ruby
- sinatra
準備
Gemfileを作成して下記を記載
source 'https://rubygems.org'
gem 'sinatra'
その後
bundle install --path .bundle
を実行
これで準備完了
構築
ここからはほんとに早いです。
app.rbといったファイル名でファイルを作成し、
require 'sinatra'
get '/' do
'Hello World'
end
こちらを記載して、
bundle exec ruby app.rb
で実行!!
http://localhost:4567/
にアクセスすると「Hello World」が表示されます!!
JSONの返却
最後にjsonを返却する書き方を紹介します。
Gemfileに
gem 'sinatra-contrib'
こちらを追加して、
require 'sinatra'
require "sinatra/json"
get '/' do
data = {result: 'Hello World'}
json data
end
先程のコードをこのように書き換えますと
{result: "Hello World"}
このような形でJSONが返却されます。
これで一番ミニマムなAPIが完成してしまいました....はやい...