问题标签 [fastjsonapi]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
226 浏览

ruby-on-rails - 序列化一对多关联的最后一条记录

我有一个用户在高度模型中记录了许多高度(身高测量值),但只想序列化最后一个高度。

我试图创建一个(假的)自定义 has_one 关联,但它没有给我我想要的东西......

应用程序/序列化程序/user_serializer.rb

应用程序/控制器/users_controller.rb

照原样,我得到了错误:"heights is not specified as a relationship on UserSerializer."

如果我取消注释# has_many :heights,我会得到:

但我不想在复合文档中包含所有记录的高度......

预期结果

0 投票
1 回答
538 浏览

ruby-on-rails - 如何拒绝fastjson_api中的属性?

我开始使用 fastjson_api,我已经在我的项目中实现了基于属性的控制,当我返回 JSON 数据时如何拒绝属性。
例如:-
我有一个客户表,其中包含客户姓名、电子邮件、电话、地址对于某些角色,我可能会授予对电话号码的访问权限,而对于某些角色,我不会授予他们访问权限
not_allowed_attributes = ["phone"]

但这不是一种动态的实现方式,因此每当 not_allowed_attributes 发生更改时,它都应该从 JSON 响应中动态过滤掉属性。
对于角色 1 not_allowed_attributes = ["email","phone"]
对于角色 2 not_allowed_attributes = ["phone"]

not_allowed_attributes 我会将它发送到序列化程序的参数中,并且可以根据它们的角色删除属性。

0 投票
1 回答
66 浏览

ruby-on-rails - rails Netflix fast_jsonapi 自动选择序列化程序

我将葡萄用于带有fast_jsonapi的 API和

我看到我必须始终提供序列化程序名称,例如

想知道它是否可以像使用主动模式序列化程序那样根据资源名称或对象类型自动选择序列化程序名称?

0 投票
2 回答
627 浏览

ruby-on-rails - 在 rails 中的 fast_jsonapi 中将 current_user 和链接一起传递

Rails 版本:6.0.0 Ruby 版本:2.6.3

控制器

串行器

错误:

0 投票
0 回答
286 浏览

ruby-on-rails - 如何使用 fastjsonapi 组织序列化程序。?

我的应用程序有以下版本:rails 6.0.0, ruby 2.6.3.

我在应用程序中有大约 20 个控制器,我们计划在应用程序中使用fast-json-api而不是rabl作为序列化程序。我发现每个控制器的序列化程序文件数量增长得非常快。(下面的屏幕截图)。


问题

有没有更好的方法来组织所有的序列化器?

我尝试了以下两种组织方式:

  1. 在其模型名称下组织一个控制器的所有序列化程序(如 rabl)

    串行器

    但它给了我这个错误:
    NameError (uninitialized constant Api::V1::LexiconsController::ListNodeSerializer)

  2. 我可以通过将所有 SerializerClassNames 保存在该控制器的同一个序列化器文件中来在单个序列化器中呈现不同的 api 视图吗?

    类别控制器的串行器

0 投票
3 回答
1271 浏览

ruby-on-rails - Rails 序列化 - fast_jsonapi / active_model_serializers

我有点迷失了加入 fast_jsonapi / active_model_serializers 来构建 API。我已经掌握了基础知识,但似乎停留在自定义解决方案上。

我有这个作为序列化程序:

在我的区域模型中,我有:

我的控制器看起来像:

区域嵌套在具有祖先宝石的层次结构中。输出是:

}

我正在寻找这样的输出:

}

这个想法是嵌套关系显示细节等。

0 投票
3 回答
2998 浏览

ruby-on-rails - Rails:NameError(未初始化的常量 UserSerializer)

我目前正在使用 Rails 6.0 构建一个仅限 Rails API 的应用程序。我将fast_jsonapi用于 JSON:Ruby 对象的 API 序列化。目前我只创建了UsersController.

我有一个user具有以下属性的模型:

user_serializer为它创建了一个:

我还通过以下信息User在数据库上创建了一个:rails console

但是,当我在 rails 控制台中运行以下命令时:

我收到以下错误:

NameError(未初始化的常量 UserSerializer)

我尝试了一些解决方案,但似乎没有一个有效。我需要一些帮助。谢谢。

0 投票
0 回答
333 浏览

ruby-on-rails - Rails 使用设计创建重置密码电子邮件端点

我想通过发送电子邮件让用户能够重置密码,但我不知道如何触发该电子邮件。这只是移动应用程序,因此前端应用程序使用端点与后端应用程序通信。我正在使用 devise 来验证用户身份,使用 swagger 测试端点和 Fast JSON API 进行序列化。

我的模式:

路线:

招摇端点:

问题是我不知道如何触发那封电子邮件,我已经recoverable添加了模块,但是如何创建那个端点来测试它呢?

0 投票
1 回答
1037 浏览

ruby-on-rails - 如何缓存rails api控制器

我在我的应用程序中看到了一些性能问题,想知道我的缓存是否正常工作,或者我是否误解/错误配置了任何东西。我正在使用带有内置缓存选项的fast-jsonapi进行序列化。

比方说:

还假设我有 2000 位作者和 100 家出版商的大约 5000 本书,所以我希望缓存会对性能产生很大影响。

然而,事实上我看到我的数据库在启用或不启用缓存的情况下以相同的方式命中,并且响应时间非常慢。此外,在检查我的缓存时,它似乎只缓存了每一本书,而不是整个序列化的哈希。

现在我想知道我是否完全错过了在序列化程序中缓存的目的,或者我是否需要在控制器中添加一些额外的层?如果是,是否有解决方案以 DRY 方式执行此操作?会不会和序列化器的缓存冲突?那么,序列化程序中缓存的目的是什么?

我知道我可以使用多种方式/缓存层。我只是不确定要合并哪些以及是否要防止这些层之间的任何冲突。

0 投票
1 回答
500 浏览

ruby-on-rails - 有没有办法通过在 Rails 中使用 Fast JSON API 来选择外部对象的一个​​属性?

我正在创建一个使用后端 Rails API 的旅行应用程序。我决定使用 Fast JSON API 来序列化我的数据。我有一个国家列表;每个国家都有很多城市,每个城市都有很多景点。

这些是我的模型之间的关联列表。

当我为单个景点序列化我的数据时,我想只包含城市的名称属性和它所属国家的名称属性。我目前正在通过添加可选参数来包含地区和国家名称来执行此操作。

但是,这给出了该国家/地区的所有属性和关系,包括嵌套在该国家/地区内的所有不相关地点的列表,当我的数据集变得更大时,这将变得非常低效。见下文:

}

有没有办法在 Attraction JSON 中只包含一个属性(即国家名称),而不是整个对象?(景点嵌套在国家以下两层)

非常感谢。