0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Railsでjsonデータを返す

Last updated at Posted at 2022-02-23

モデルを作成

まずは返却したいデータを作成したいのでモデルを作成する。

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"}
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?