Shoeisha Technology Media

CodeZine(コードジン)

記事種別から探す

Rails 5のAPIモードを使ってAPIを実装

サンプルコードで学ぶRuby on Rails 5実践入門 第9回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2017/08/17 14:00

 前回はAction Cableのサンプルアプリを拡張して発言をデータベースに保存できるようにし、会員登録機能と関連付けを行いました。連載最終回の今回は、Rails 5のもう一つの目玉機能であるAPIモードで別のRailsアプリケーションを立ち上げ、今回開発したチャットアプリに機能を追加します。

目次

APIモードのおさらい

 連載第1回でも紹介したAPIモードはRails 5の代表的な新機能の一つで、RailsアプリをAPI用途に特化させる仕組みです。新規RailsアプリをAPIモードで新規作成する場合、rails newコマンドに--apiオプションを指定して実行します。

 APIモードで作成されたRailsアプリでは、各種ジェネレーターコマンド(rails g)の挙動が変わります。具体的にはビュー・アセットファイルが自動生成されなくなります。

チャットアプリに追加する新機能

 チャット上で「/img rails」と入力すると、Google画像検索で「rails」と入力して1番目にヒットした画像がチャット上に表示される機能を追加します。

 今回、Rails 5のAPIモードを使って新規作成するRailsアプリは、「rails」などの検索語句をgetパラメーターで指定すると、Google画像検索結果で表示された1番目の画像のパスを取得して、APIのレスポンスとしてJSONで返却するものとします。

 前回連載までにAction Cableを使って実装した元のチャットアプリは、チャット上での入力形式が「/img」で始まる場合に検索語句をパラメーターとしてAPIへリクエストを送信し、受け取ったJSONからimageタグを生成して画像を表示するよう修正します。

図1 チャットアプリに追加する新機能イメージ
図1 チャットアプリに追加する新機能イメージ

 以下の流れで解説していきます。

  1. APIの新規作成
  2. 既存チャットアプリの修正

  • LINEで送る
  • このエントリーをはてなブックマークに追加

著者プロフィール

  • WINGSプロジェクト 竹馬 力(チクバ ツトム)

    <WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2017年5月時点での登録メンバは52名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂き...

  • 山田 祥寛(ヤマダ ヨシヒロ)

    静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for ASP/ASP.NET。執筆コミュニティ「WINGSプロジェクト」代表。 主な著書に「入門シリーズ(サーバサイドAjax/XMLD...

バックナンバー

連載:サンプルコードで学ぶRuby on Rails 5実践入門

もっと読む

All contents copyright © 2005-2017 Shoeisha Co., Ltd. All rights reserved. ver.1.5