cloudpack の 自称 Sensu芸人 の かっぱこと 川原 洋平(@inokara)です。
はじめに
- 自分メモ
- チョー小ネタです
- キューピー 3 分クッキング風にいきます
参考
Sinatra
Sinatra について
- 泣く子も黙る Ruby 製の軽量 Web フレーワークっぽいもの(厳密にはフレームワークではないようです)
- Sinatra
インストール
sudo gem install sinatra —no-ri —-rdoc -V
ここまでで 2 分くらい…(環境に応じて)
今回は既に sinatra と json の gem がインストールされた環境で作業します。
盛り付け
いきなりソースを
え、これだけ?と思わってしまいますが、これだけです。
require 'sinatra'
require 'json'
get '/hello' do
v = {
key1: “a” ,
key2: “b”,
}
v.to_json
end
このソースを適当な名前で保存しましょう。今回は qp01.rb という名前で保存します。
起動
以下のようにして qp01.rb を起動します。
ruby qp01.rb
そうすると以下のように Webrick が起動します。
上記のようにローカルホストの 4567 ポートでお待ちのようです。
試食
curl で…
以下のように curl でリクエストを投げてみます。
curl localhost:4567/hello
すると…
上記のような結果が返ってきました。
jq でちょっと味付け
出力がちょっとさみしいので以下のように jq で味付けします。
curl -s localhost:4567/hello | jq .
以下のようにちょっと見栄えがよくなりますね。
エンディング
そろそろ 5 分が経過しようとしています…
Sinatra を使えばホンの数行で API サーバーが作れることがわかりました。今回は単純に JSON を返すだけでしたが、実際にちゃんとしたものを作ろうとするとエラー処理やデータの取得、複雑な JSON の解析等が必要なので数行というわけにはいかないと思います。しかしながら、ルーティング等の Web サーバーとしての処理は Sinatra に任せられるのが嬉しいですよね!
元記事はこちら