最近までRailsのブートキャンプのために、TECH::EXPERTの夜間・休日コースに通っていました。渋谷の教室に主に通っていましたが、5ヶ月ほど経ってきた頃に疲労が・・・。
でも、そんなこんなでなんとか自分でオリジナルのアプリケーションをつくる最終課題に突入しましたので、その備忘録。

何を作るのか

というわけで、野球が大好きなので野球観戦日記を登録できるアプリケーションを作成しようと考えています。
私は普段の仕事では、Vue.js を使用しているのと、AWS の便利な所を組み合わせる予定で、Rails では RESTful API を作成しようと思います。

API(Application Programming Interface)とは?

APIとは、あるコンピュータプログラム(ソフトウェア)の機能や管理するデータなどを、外部の他のプログラムから呼び出して利用するための手順やデータ形式などを定めた規約のこと。(引用: IT用語辞典 e-Words

ということです。こんなときは、実例をみるのが一番ということで、よくお世話になる connpass のサイトの情報を API を使って覗いてみましょう。
connpass では、API リファレンスが存在します。こちらにアクセスしてみると色々書いてありますね!
イベントの一覧を取ってくるのは、
https://connpass.com/api/v1/event/
というAPIです。ですが、このAPIだと自分のほしい情報があるのかないのか、なんなのかわかりません。
そこで、rails という文字列の含まれるイベントを検索してみましょう
https://connpass.com/api/v1/event/?keyword=rails
これでもまだまだ多いので、rails 文字列の入っているイベントを1件だけ取得してみましょう!
https://connpass.com/api/v1/event/?keyword=rails&count=1
これで取得できます。これが、API です!

REST(REpresentational State Transfer)とは?

一般によく使われる狭義のRESTは、パラメータを指定して特定のURLにHTTPでアクセスすると、XMLで記述されたメッセージが送られてくるようなシステムおよび呼び出しインターフェース(「RESTful API」と呼ばれる)のことを指す。(引用: IT用語辞典e-Words

REST の設計原則は以下の4つだそうです。

  1. セッションなどの状態管理を行わない(やり取りされる情報はそれ自体で完結して解釈することができる)
  2. 情報を操作する命令の体系が予め定義・共有されている
  3. すべての情報は汎用的な構文で一意に識別される
  4. 情報の内部に、別の情報や(その情報の別の)状態へのリンクを含めることができる(ハイパーメディア的な書式で情報を表現する)

(引用: IT用語辞典e-Words

ちょっとむずかしく聞こえますが、なんとなくわかっていればなんとか先へ進めるはず!まずは作成してみようということで、 rails new app_name –api のコマンドを叩きにいきましょう!