如何使用 Netflix fast_jsonapi 与 Mongoid 关系

How to use Netflix fast_jsonapi with Mongoid relationships

如何为 fast_jsonapi 添加 Mongoid 关联?

embeds_many
embeds_one

我正在尝试从我的 rabl 序列化升级到 fast_jsonapi。这甚至可能吗?

Mongoid 5.4 fast_jsonapi1.5

fast_jsonapi 在访问者设计模式上实现。所以下划线数据结构不用考虑,直接用has_many和has_one就可以了。无论如何,如果你检查 GitHub 问题列表,你可以看到它已经在最新的 mongoid 版本上进行了测试。

我遵循了#[soundstripe][1] 中的指南

[1]: https://medium.com/soundstripe-engineering/greener-pastures-migrating-a-production-api-from-activemodel-serializers-to-fast-json-api-9627be51c64 弄清楚如何让 fast-jsonapi 为我工作。但总的来说,您似乎只需要这些代码片段即可使其正常工作。

class BookSerializer < ApplicationSerializer
  belongs_to :library
end

class BooksController < ApplicationController
  def index
    @books = Book.all
    render jsonapi: BookSerializer.new(@books)
  end
end

class ApplicationSerializer
  include FastJsonapi::ObjectSerializer
end