APIを作っていて、外部のサービスからリソースを取得し、DBには保存しないもののレスポンスに含めてクライアントに返したい、ということがありました。このとき次のモジュールが役立ったので紹介します。Recordとも互換性のあるインタフェースでRails上のモデルとして扱える機能がいろいろ入るモジュールです。APIを提供するモジュールです。gem内に含まれるモジュールです。定義した属性からなるJSONをシリアライズできるようになります。これを利用して、次のようなクラスを作りました。外部サービスから得られるリソースを表すクラスを作り、上述したモジュールをincludeします。もとに具体的なリソースを表すクラスを作ります。ここでは外部ブログサービスから記事リソースを取得しているとします。endendこれらを使うと、外部サービスのリソースも含んだJSONを返すエンドポイント自体は、シンプルに実装できます。endendpros/consこの方法の利点は、サードパーティgemのActiveModelSerializersを使うのに比べると、Railsのモジュールだけで実現できてシンプルというところや、モデルとして外部リソースを表現できるので、そのリソースに関するロジックをモデルに置くことができるという点が挙げられます。使って自前の型を定義していくと実装がやや面倒という点です。ネストしているリソースについて型を定義せず、次のように型を指定せずに属性を定義することもできるにはできます。MonolithというアーキテクチャをRailsアプリケーション...2018-09-02『なるほどUnixプロセス』を読んだ読みました。specでCommitteeを使ってレスポンスJSONを自動的にバリデー...この記事の続きのようなものです。月別アーカイブ検索スターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。