はじめに
fast_jsonapiを使用してapiを作成します。
fast_jsonapiとは?
Netflixが提供しているgemで、JSONのSerializerです。
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形式でデータを取得できました。

参考
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 ...
コメント