logo

Grape ~Rubyで簡単REST~ その1 (ゼネット松永紘氏)

伊藤忠テクノソリューションズ株式会社(略称:CTC)のグループ会社で、ITシステムの保守サポート、運用サービス及び教育サービスを提供するシーティーシー・テクノロジー株式会社(本社:東京都千代田区、以下:CTCテクノロジー)はコラム『Grape ~Rubyで簡単REST~ その1 (ゼネット松永紘氏) 』を公開しました。

###

7/2にRails3.2.19、4.0.8及び4.1.4がリリースされました(*1)(*2)。このリリースはPostgreSQL利用時におけるSQLインジェクションのセキュリティフィックスですので(*3)、できるだけ早くアップデートすることをお勧めいたします。

 さて話は変わりますが筆者はここ数ヶ月、お仕事でJavaを使ったプログラミングをしています。Javaそのものは5年くらい前に触ったきりでそ の時はJava6だったのですが、今ではJava8までリリースされています。枯れた技術と言われることもありますがいろんな試みを取り入れながら進化し ており、きちんとアンテナを張っていないと取り残されていくなあと実感しました。
 JavaEEに関してもJ2EEの重厚すぎるイメージを持っていましたが、最新の物ではかなりコンパクトに洗練されているみたいです。そんなJavaEEのなかで個人的にいいなと感じたものがJAX-RS(*4)です。
 JAX-RSは「Java API for RESTful Services」の略で、その名の通りRESTfulな(Web)サービスを作るためのJava標準APIです。このAPIはアノテーションをベースと して、あるメソッドの処理とリクエストURL、HTTPメソッドを対応付けるため、直感的にRESTfulなWebサービスを開発することができます。
Rubyでも似たようなものはないかと探したところ、Grape(*5)というライブラリがありましたので今回と次回、2回に分けてこちらをご紹介していきます。
Grape

 GrapeとはRESTfulなWebAPIを構築するためのライブラリです。前述の通りRubyで書かれており、Rackアプリケーションであ れば簡単に動作させることができます。また軽量で直感的なライブラリでもあるため、学習コストもそれほどかからず既存のアプリケーションにも組み込みやす いかと思います。
ここでは郵便番号検索APIの実装をしていきながら、Grapeについてご説明いたします。

 なお、動作環境は以下の通りです。(*6)

Windows 7
Chrome 36
Ruby 2.1.2
Rails 4.1.4
Grape 0.8.0

 また実装する郵便番号検索APIはごくごく簡単なもので、「/zip/:zip_code」にGETリクエストを行うと:zip_codeに対応する郵便番号をJSON形式で返すというものにします(*7)。

(この続きは以下をご覧ください)

リンク

*1 : リンク

*2 : リンク

*3 : 正確にはRails4.0.8及び4.1.4は、当該セキュリティフィックスを行ったRails4.0.7及び4.1.3のリグレッションフィックスです。

*4 : リンク

*5 : リンク

*6 : ここではRailsアプリケーション上でGrapeを動かしますが、前述の通りRackアプリケーション上であれば簡単に動作させることができます。

*7 : ただし今回はJSONを整形することが主眼ではないため、ActiveRecord#to_jsonを使って出力を行っています。

本プレスリリースは発表元企業よりご投稿いただいた情報を掲載しております。
お問い合わせにつきましては発表元企業までお願いいたします。