SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

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

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

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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

  • X ポスト
  • このエントリーをはてなブックマークに追加

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. 既存チャットアプリの修正

会員登録無料すると、続きをお読みいただけます

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

次のページ
APIの新規作成[1]

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
サンプルコードで学ぶRuby on Rails 5実践入門連載記事一覧

もっと読む

この記事の著者

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

WINGSプロジェクトについて>有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛...

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

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

静岡県榛原町生まれ。一橋大学経済学部卒業後、NECにてシステム企画業務に携わるが、2003年4月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト」代表。主な著書に「独習シリーズ(Java・C#・Python・PHP・Ruby・JSP&サーブレットなど)」「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravelなど)」「改訂3版JavaScript本格入門」「これからはじめるReact実践入門」「はじめてのAndroidアプリ開発 Kotlin編 」他、著書多数

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/10354 2017/08/17 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング