はじめに
RailsでAPIを作成するために使用する
$ rails new <name> --api
について、通常のrails new
と何が違うのかざっくりまとめました。
※自分用メモです。
環境
OS: macOS Catalina 10.15.1
Ruby: 2.6.5
Rails: 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を返すようにアクションが設定される
【例】
def show
render json: @record
end
おわりに
最後まで読んで頂きありがとうございました