いろいろあって、忙しさが体感で 5 倍くらいな感じですが、時間を作っていろいろ触ってゆきます。
今回は Ruby on Rails で API サーバーを作る方法がわかったのでまとめておきます。
目次
API サーバーの作成
とはいえ大したことはしないのです。
1 | rails new [アプリケーション名] --api |
これだけ。
加えて、scaffold で試しに Product モデルを展開してみます。
1 | rails g scaffold Product Price:integer Name:string |
データベースの中に初期値を設定しておきます。
[アプリケーションルート]\db\seeds.rb を以下のように編集します。
1 | # 省略 |
[アプリケーションルート]\db\seeds.rb を作成したら、以下を実行。
1 | rails db:seed |
動作確認
rails s
を実行し、http://localhost:3000/products
にブラウザからアクセスしてみます。
以下のように初期設定した 3 レコードが表示されるはずです。
1 | [{"id":1,"Price":1000,"Name":"CPU","created_at":"2019-09-17T15:47:36.208Z","updated_at":"2019-09-17T15:47:36.208Z"},{"id":2,"Price":2000,"Name":"メモリ","created_at":"2019-09-17T15:47:36.225Z","updated_at":"2019-09-17T15:47:36.225Z"},{"id":3,"Price":4000,"Name":"GPU","created_at":"2019-09-17T15:47:36.228Z","updated_at":"2019-09-17T15:47:36.228Z"}] |
http://localhost:3000/products/1
にアクセスすれば、以下のように出るはず。
1 | {"id":1,"Price":1000,"Name":"CPU","created_at":"2019-09-17T15:47:36.208Z","updated_at":"2019-09-17T15:47:36.208Z"} |
追加、更新、削除の動作確認
ブラウザに URL 入力では get の確認しかできないので、REST クライアントを使う。
何を使ってもいいけど、私はRestlet Clientを使っています。
以下のように設定し「Send」で送ると、1 レコード追加されます。
クエリパラメータが get クエリのみたくなりますが、これで OK。
更新と削除もそれ実行できる。
URL とリクエストメソッドがわからなければ、[アプリケーションルート]\app\controllers\products_controller.rb を見るか、rails routes
の結果を参照する。
今回はここまで。
夜がすごしやすくなってきました。
もう秋ですね。
ではでは。