はじめに
RailsでAPIを作成するために使用する
$ rails new <name> --api
について、通常のrails new
と何が違うのかざっくりまとめました。
※自分用メモです。
環境
OS:macOS Catalina 10.15.1Ruby:2.6.5Rails:6.0.2.1
作成コマンド
$ rails new my_api --api
--api
を付けることで、APIに必要なファイルだけがインストールされる。
通常のrails new
との違い
- ApplicationControllerが継承するのはActionController::APIになる。(※通常はActionController::Base)
- ブラウザ向けアプリケーションでで使われるミドルウェア(cookiesのサポートなど)
- ブラウザ向けアプリケーションでしか使われないモジュール
- ビュー、ヘルパー、アセットは生成されないようにジェネレーターが設定される
- 例:
rails g controller home index
でビューが生成されない
- 例:
rails g scaffold
すると、jsonを返すようにアクションが設定される
【例】
defshowrenderjson: @recordend
おわりに
最後まで読んで頂きありがとうございました