モデルを作成
まずは返却したいデータを作成したいのでモデルを作成する。
rails g model Task title:string body:string
Rails consoleでデータを作成
モデルができたら実際のデータをRails consoleで作成する。
rails c
Task.create(titile: "jsonデータを返す", body: "railsをapiとして使いたいのでデータをjson形式で返したい")
controllerを作成する
jsonデータを返すためのアクションを作成する準備としてコントローラを作成する。
rails g controller api/v1/tasks
routes.rbの編集
リクエストが通るようにroutes.rbを編集する。
namespace 'api' do
namespace 'v1' do
resources :tasks
end
end
controllerの設定
controller内でjsonデータを返せるように’respond_to’を使い’.json’と言うリクエストが来たときの処理を記述する。
class Task < ApplicationRecord
def show
@task = Task.find(params[:id])
respond_to do |format|
format.json {render json: @task} # @taskの情報がjsonデータとして返る
end
end
end
アプリにリクエストを送る
これでjsonデータが返るはずなのでcurlコマンドを使いクエストを送る。
% curl "localhost:3000/api/v1/tasks/1.json"
下記のデータが返って来ればOK
{"id":1,"title":"jsonデータを返す","body":"railsをapiとして使いたいのでデータをjson形式で返したい","created_at":"2022-01-01T00:00:00.000Z","updated_at":"2022-01-01T00:00:00.00Z"}