🫠
【rails】APIモードでのプロジェクト作成と初期の設定
で教材を見てざっとAPIを作成したので、
今一度内容をまとめてみようと思う。
rails APIの仕組み
上記画像を頭に入れるとわかりやすい。
フロント側でAPIを叩くと、railsのにつながり、
Routingが必要なControllerを選んで、ModelにDBを引っ張ってきてもらう。
持ってきたDBをRoutingに返してViewを通してフロント側に返してあげる。
自分的に一番わかりやすい表現だったのが、
Routing=受付さん
受付に「〇〇さんに会いに来たんだけど~」とリクエストして
受付が一旦電話して「〇〇さん宛にお客さん来てるよー」と繋いで
OKが出たら「どうぞ~」と案内してあげる
という構造に似ている気がする。
以上を理解したうえで下記を実行していく。
railsでプロジェクト作成
$ rails new hoge --api
rails new でプロジェクト作成コマンド
hogeの部分は任意のプロジェクト名
--apiでAPIモード
最初に設定をちょっといじっていく。
・ポート番号を変更
config/puma.rbを開いて下記のように任意の番号に修正する。
- port ENV.fetch("PORT") { 3000 }
+ port ENV.fetch("PORT") { 9000 }
・サーバを立てて確認する
下記コマンドを記述して、サーバを立てれるか確認する
$ bundle install
$ rails s
・DBの作成
下記のコマンドを実行してDBを作成。
$ rails db:create
・CORS(Cross-Origin Resource Sharing)を設定
初期の状態ではAPIを叩いたときにCORSエラーがでしまうので、
Gemfileを開いて下記のコメントアウトを外す。
- # gem 'rack-cors'
+ gem 'rack-cors'
config/initializers/cors.rbを開いて
下記を記述でhttp://localhost:3000からのアクセスを許可。
Rails.application.config.middleware.insert_before 0, Rack::Cors do
allow do
origins 'http://localhost:3000'
resource '*',
headers: :any,
methods: [:get, :post, :put, :patch, :delete, :options, :head],
credentials: true
end
end
・サーバを立て直す
$ bundle install
$ rails s
以上で完了。
ここからはAPIの記述になるのですが、
長くなりそうなので改めてまとめるとします。
Discussion