rails api in rails 5

Post on 16-Apr-2017

662 Views

Category:

Technology

5 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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 の両方を管理する必要あり○ というかできるのか?

ご清聴ありがとうございました

top related