问题标签 [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.
ruby-on-rails - 如何将jsonb字段值视为序列化中的一等属性?
我有一个使用 postgresql jsonb 字段的 Rails 后端。我想使用这颗宝石fast_jsonapi
,但还没有结婚。
我有一个 jsonb 字段,它几乎就是我想要序列化的模型。但是,我还没有弄清楚如何为它们制作 json 属性(将它们序列化为一等公民。)所以,而不是:
我不需要额外的“数据”命名空间,并且希望它是:
这样做的低成本方法是什么?
ruby-on-rails-5.2 - has_one 和 has_many 关联抛出[错误数量的参数(给定 1,预期为 0)] 当使用 proc 快捷方式传递时
我有 rails 4.2 和 ruby 2.3.5,我正在用 ruby 2.6.1 将它升级到 rails 5.2。
使用较旧的 rails 版本(4.2),我的 UserAuthenticatedSerializer 工作正常并且给出了正确的响应。
升级到 rails 5.2 后,我的 Serializer 开始抛出参数错误。
我对其进行了调试,它是从 relationship.rb 文件方法名称 fetch_id 和 fetch_associated_object 中抛出的。在这两种方法中,object_block.call(record, params) 都会抛出一个参数错误。
如果我从参数中删除第二个参数,它工作正常。传递这两个参数会导致错误。
同样的关联适用于 rails 4.2,但不适用于 rails 5.2。
这是我的代码快照:
Rails 版本:5.2.2 Ruby 版本:ruby 2.6.1 fast_jsonapi gem 版本:fast_jsonapi (1.5) active_model_serializers (~> 0.10.9)
ember.js - Ember Cli Mirage:带有 JSONAPISerializer 的活动模型适配器
我正在实现JSON API结构(带有下划线属性)。
开发环境的实际状态是:
我使用Active Model Adapter结构向后端请求资源,后端使用JSON API结构响应我。
在我正在使用的应用程序序列化程序中JSONAPISerializer
。我覆盖方法:
对于开发,一切都对我有用(Rails 中的后端与 Ember 沟通得非常好)。
问题在于 Ember CLI Mirage 和约定(不确定是否有简单的解决方案,或者我需要再次覆盖此插件中的方法)。
Ember Cli Mirage 和测试环境的实际状态:
我正在使用import { JSONAPISerializer } from 'ember-cli-mirage';
然后尝试操作正确的请求,然后将其转换为 JSON API 格式。
它可以像这样工作:
Ember 适配器(活动模型适配器格式 - 带有下划线属性)---> Mirage Serializer 应该获取请求(查找之前在具有关联的测试中创建的资源),然后使用 JSON API 格式对其进行响应 ---> JSON API Serializer 可以捕获它并填充 Ember DS。
现在,我有一个缺失的部分来将所有情况下的它序列化为 JSON API 标准(带有下划线的属性)
我应该在哪里进行此转换以最小化覆盖 JSONAPISerializer Mirage Serializer。
我注意到有一些帮助者,但我有一个问题将这些知识包装在一起(http://www.ember-cli-mirage.com/docs/advanced/route-handlers#helpers)
更新:
来自后端的结构示例:
更新2
海市蜃楼响应的结构:
测试资源:
mirage 中的 first_resource 模型:
ruby-on-rails - 如何在 FastJsonAPI 中将参数从控制器传递到序列化程序?
我有一个控制器方法drop_down_values
,我在其中选择一组值并以 json 响应,使用序列化程序构建对象。我正在使用 FastJson Api。我想知道,如何访问序列化程序中控制器中存在的其他变量。
我需要@values
在序列化程序中使用该变量。我怎样才能将它传递给序列化程序?我无法在序列化程序中直接访问此变量。
序列化器:
堆栈和版本 -
- 导轨 - 5.2.1
- 红宝石 - 2.5.1
- FastJsonAPI - 1.5
ruby-on-rails - #
尝试将枚举对象传递给序列化程序时,出现以下错误:
#<FastJsonapi::MandatoryField: id is a mandatory field in the jsonapi spec>
@drop_down_values = Organisation.ownerships
其中@drop_down_values 具有所有权列中的枚举值。
render json: DropDownValueSerializer.new(@drop_down_values).serialized_json
ruby-on-rails - 如何将响应格式从 fast_jsonapi 格式更改为 AMS gem 响应格式
我想改变 fast_jsonapi gem 的响应格式:
对此:
我正在从使用 AMS gem 迁移到使用 fast_jsonapi,我想使用 fast_jsonapi 但在呈现数据时保持 AMS 的相同响应 json 格式。
Ruby 2.5.0 Rails 5.2.1 fast_jsonapi gem
ruby-on-rails - 显示关联的模型对象字段
我有一个模型Organisation
。这个模型 has_many organisation_branches
。具有其中存在organisation_branch
的地址详细信息city_id
,它指的是城市表。
组织.rb:
组织分支.rb
组织序列化器:
我需要使用从 city 表中检索到的城市名称来显示 Branch 详细信息。当查看一个组织时,所有这些都需要显示出来。
ruby-on-rails - 如何让 fast_jsonapi 返回关系的属性
我有一个 rails api,其中包含许多由 fast_jsonapi gem 序列化的模型。
这是我的模型的样子:
这就是序列化器的样子
序列化工作。但是,即使我包含了复合团队文档:
我仍然得到像这样格式化的对象:
而我也期望获得我的团队模型的属性。
ruby-on-rails - 需要帮助了解如何使用与 JSON API 规范的关系
我来自 ActiveModelSerializer 并尝试使用 fast_jsonapi gem 掌握 JSON API 规范。我一直在努力解决的一件事是如何处理这种特殊情况下的关联或关系。我知道,对于关系,fast_jsonapi 返回一个仅由一个子元素组成的哈希id
值type
。考虑到这一点,如何在不创建复合文档的情况下获取所需的数据?
有人建议在关系对象中使用链接来减少查询次数,但这也让我感到困惑。我看到这一点的方式是,我可能会为一个对象进行多次 api 调用(至少)。有人可以帮我分解一下吗?