Rubyで記述されたフレームワークである Ruby on Rails。 Ruby on Rails にはAPIモードがあり、APIを開発するために必要な様々な機能が用意されています。
この記事では、Rails APIがどういうものなのか、Ruby on Railsの特徴を含めて解説します。また、Rails APIモードの利用方法についても紹介しますので、参考にしてみてください。
Rails APIとは?
RailsにはAPIを開発するための「Rails API」モードがあります。Rails APIについて説明する前に、「Rails」と「API」がそれぞれどんなものなのか紹介します。
Railsとは、Ruby on Railsの略称で、RoRとも呼ばれます。Ruby on Railsは、WebアプリケーションやWebサービス開発のためのフレームワークであり、プログラミング言語Rubyで記述されています。Ruby on Railsの特徴については、のちほど詳しく解説します。
APIは、アプリケーションプログラミングインターフェース(Application Programming Interface)の頭文字をとったものです。APIとは、OSやアプリケーションなどが、他のアプリケーションに対して、 自身が管理しているサービスを利用できるようにするためのインターフェースです。
例えばWindowsは、Windows上で動作するアプリケーションのために、ファイル管理やメモリ管理、ウィンドウ管理などのAPIを公開しています。また、iOSやAndroidのアプリケーションを開発する場合は、データの共有や保存をするためのAPIを利用します。
システム提供者が公式的な外部仕様を定義しておくことで、APIに則って開発されたアプリケーションの動作は、外部仕様の変更がない限り保証されます。
逆にAPIに則って開発されていないアプリケーションは、バグの修正やアップデートなど、内部仕様の変更により動作をしなくなる場合があります。
既に開発されたAPIがない場合はAPIも自作する必要があります。Webサーバとの通信においては、Webサーバ側で用意している関数(インターフェース)をHTTP通信で利用します。
Web APIについては「Web開発に役立つAPI連携とは?利用するメリットや実装手順を紹介」に詳しくまとめましたので、合わせてご覧ください。
RailsにはAPIの開発をするための「APIモード」があり、API開発のための様々な機能が存在します。
また、Ruby on Railは、日本の開発現場や研究室でも、広く利用されているフレームワークです。そのため、日本語で書かれたウェブサイトや書籍も多く、学習しやすいというメリットもあります。
Ruby on Railsの特徴
Ruby on Railsは、Rubyで記述されたオープンソースのフレームワークです。Rubyは、日本人が開発したプログラミング言語としては初めて、IECによる国際規格に承認された言語です。Ruby、Ruby on Railsともに、日本を含めた世界中の地域で人気が高く、日本語の資料が豊富です。
Ruby on Railsは、他のフレームワークよりも簡潔に記述できるように設計されており、少ないコードで記述できます。また、Ruby on RailsはMVCアーキテクチャにより構成されています。
MVC(Model-View-Controller)とは、プログラムをModel、View、Controllerの3要素に分割し、ソフトウェア内部データをユーザから分離することで、ソフトウェアの保守性を向上させる考え方です。
また、MVCアーキテクチャは、機能ごとの独立性が高いため、複数人の開発でも分業しやすく、開発生産性も高いのが特徴です。
- Model
Controllerからのメッセージを受け取り、アプリケーションが扱うデータとその手続きに関しての処理を行います。データが変更された場合、Viewに表示の変更を指示します。Ruby on Railsでは、Active RecordによりModelを扱います。 - View
データをユーザが見やすいように提供します。Modelからの指示を受け、データの変更などをUIに反映します。 - Controller
ユーザからの入力をModelに引き渡します。ユーザはModelの内部データを直接変更するのではなく、Controllerを通じてModelに伝えます。これにより、ソフトウェアの保守性が向上します。Ruby on RailsではApplicationControllerクラスを利用します。
Ruby on Railsについては詳しく知りたい方は「Ruby on Railsとは?初心者でもRubyとの違いや特徴がわかる!」を合わせてご覧ください。
\文字より動画で学びたいあなたへ/
Udemyで講座を探す >Rails APIの作成手順
ここからは、Ruby on RailのAPIプロジェクト作成の方法をご紹介します。
APIモードでRailsプロジェクトを作成
APIモードでRailsプロジェクトを作成します。
1 |
rails new [project_name] --api |
rails newの際に「–api」オプションを付与することで、AIPモードでRailsプロジェクトを作成できます。「project_name」の部分には、作成するAPIに応じたプロジェクト名を設定しましょう。
APIモードを使用することで、ViewやUIに関連するライブラリがインストールされません。また、Viewに関するファイルやGemも生成されません。
モデルとコントローラを作成
次にモデルとコントローラを作成します。MVCアーキテクチャで解説したとおり、モデルはデータを扱うため、データベースとやりとりを行います。そのため、モデルの作成は、それに対応するデータベーステーブルを合わせて作っておきます。RubyからSQLを操作するためにはマイグレーション機能をしようします。
そのためにマイグレーションファイルを作成します。
1 |
rails generate migration [class_name] |
続いて、モデルとテーブルを作成します。
1 |
rails g model [model_name] [table_name] |
データベースに変更を反映するために下記のコマンドを実行します。
1 |
rake db:migrate |
コントローラを生成するには下記のコマンドを実行します。
1 |
rails g controller [controller_name] |
[ ]には、それぞれの状況に応じて、適切な名前を命名します。クラス名、モデル名は小文字はじまりの単数形で、テーブル名は小文字はじまりの複数形、コントローラ名はスネークケースの複数形で命名するのが一般的です。
jsonを確認
以下のコマンドで、一度マイグレーションを行ってから、railsのローカルサーバを立ち上げます。
1 2 |
rails db:migrate rails s |
http://localhost:3000/[model_name]
上記URLでローカルサーバに接続できます。
[model_name]の部分には、先に作成したモデル名を入力します。最初はデータが入っていないため、ローカルサーバには空の配列が表示されます。サーバにデータを追加して、内容を更新し、再度マイグレーションした後にもう一度ローカルサーバにアクセスします。入力したデータが追加されていれば、APIが正常に動作していることが確認できます。
Rails APIの作成における注意点
APIはソフトウェアが他のソフトウェアのサービスを利用するための、つまりソフトウェア同士の連携を行うためのインターフェースです。そのためバグが発生した場合、バグの原因箇所がAPIにあるのか、連携先のソフトウェアにあるのかがわからず、デバッグが難しくなります。
機能を追加する際には、特にバグが発生しやすいため注意が必要です。また、APIは運用を開始すると、仕様の変更が難しいため、通常のアプリケーション以上に設計を慎重に行う必要があります。拡張性などを考慮して、しっかり設計をしましょう。
設計の際には、どの機能が、どのようなデータ入力に対して、返すデータがどのようなものになるかを、詳細まで決めておく必要があります。
ここまで、Rails APIモードについて解説しました。Ruby on RailsはMVCアーキテクチャが特徴のフレームワークで、APIモードを利用することでView関連のファイルの作成を省くことができます。
APIモードではAPIの作成に便利な機能が充実しており、使い方を知っておくと、開発の効率を高めることができます。是非、Rails APIモードの使い方を知って、開発に役立てて下さい。
最新情報・キャンペーン情報発信中