View
682
Download
5
Category
Preview:
Citation preview
RailsAPI in Rails 5
神山.rb #2Sansan 株式会社 本田 陽平(@yonda)
自己紹介
Sansan 株式会社
オペレーション部 開発部
本田 陽平
東京在住
github : yonda
最近の関心ごと : リゾートワーク
始めに
● 祝・神山.rb 第二回!!○ 第一回の開催の直前まで神山にいた○ けど、諸事情で参加できず。。。
Rails 5 にRails API 入りますね
そんなわけでRails API のおさらいです
Rails-API とは
● Rails 5 で入る新機能○ もともと rails-api という Gem があり、それを Rails 本体
に取り込んだもの
● API のみのアプリケーションを作ることに特化した scaffold を提供してくれる
Usage
$ rails new <application-name> --api
ただの rails new との主な違い
Gemfile
● API だけだったら必要ない Gem が入ってこない● jbuilder ではなく active_model_serializers
が入っている
Gemfile
jbuilder ではなく AMS
● rails-api の PR でも結構議論されていた部分● PR での議論読んでみた
○ 正直英語わからんった :bow:○ もともと rails-api gem が AMS を採用していた○ json-api の仕様に則っている○ AMS だったらルートごとに view つくらなくていい
● 噂によると partial つかったり array object を render するばあいは AMS の方が高速らしい
config/application.rb
config.api_only = true
→ この設定よって scaffold の挙動が変わってくる
rails g scaffold の挙動
● 作られるファイルが異なる● 始めから用意されるルートが異なる● controller の処理が json だけ返すようになって
いる
作られるファイルが異なる
始めから用意されるルート
Web View 用の edit や new はつくられない
Controller の処理
Serializer
感想
● 何か新しいことができるようになったというより、API だけのアプリケーションを作るときの指針を Rails で指し示したような感じ
● シンプルな API アプリなら AMS 使いやすそう
○ (AMS を使い込んでいないからか)逆に jbuilder の方が
柔軟な整形がしやすいイメージ● jbuilder と AMS の共存は面倒くさそう
○ view と serializer の両方を管理する必要あり○ というかできるのか?
ご清聴ありがとうございました
Recommended