[Rails-API] 最新記事一覧のAPIを作成する

学習記録

はじめに

fast_jsonapiを使用してapiを作成します。

fast_jsonapiとは?

Netflixが提供しているgemで、JSONのSerializerです。

fast_jsonapi

json の serializer とは、json を生成する仕組みのことです。

fast_jsonapiのインストール

gem 'fast_jsonapi'
> bundle install

generateコマンドで、新しいシリアライザーが作成されます。

> rails g serializer Article title contents status

上記のコマンドを叩くと
app/serializers/article_serializer.rb
が生成されます。

class ArticleSerializer
  include FastJsonapi::ObjectSerializer
  attributes :title, :contents, :status
  
  # アソシエーションの設定に合わせて追記します
  belongs_to :user
end

コントローラで一覧記事を呼び出す

module Api
  module V1
    class ArticlesController < BaseController
      def index
        articles = Article.all
        json_string = ArticleSerializer.new(articles).serialized_json
        render json: json_string
      end
    end
  end
end

オブジェクトのシリアル化

シリアル化されたJSONを返す方法は下記の通り

json_string = ArticleSerializer.new(articles).serialized_json

postmanで確認

JSON形式でデータを取得できました。

Image from Gyazo

参考

GitHub - Netflix/fast_jsonapi: No Longer Maintained - A lightning fast JSON:API serializer for Ruby Objects.
No Longer Maintained - A lightning fast JSON:API serializer for Ruby Objects. - GitHub - Netflix/fast_jsonapi: No Longer Maintained - A lightning fast JSON:API ...

コメント

タイトルとURLをコピーしました