問題一覧に戻る
上級APIとリアルタイム
問題63: JSON API - API設計とシリアライザー
シリアライザーを使用してRailsでよく構造化されたJSON APIを構築する方法を学習します。APIバージョニング、適切なHTTPステータスコード、JSONレスポンスのフォーマット、Active Model SerializersやJBuilderなどのツールを使用してJSON出力構造を制御する方法をマスターします。
# APIネームスペースを定義
namespace :api do
namespace : do
resources :posts
end
end
# シリアライザークラスを作成
class PostSerializer < ActiveModel::
attributes :id, :title, :body
:user
end
# Controller
def index
posts = Post.all
# シリアライザーでレンダー
render json: posts, status: :
end
# 関連付けを含める
render json: @post, : [:comments, :user]