对于 ember 3,是否有必要从 ember-data/active-model-adapter 迁移到 DS.JSONAPISerializer?
Is it necessary to migrate from ember-data/active-model-adapter to DS.JSONAPISerializer for ember 3?
DS.ActiveModelAdapter 的文档仅适用于 1.13(对于 2 - 404:
https://api.emberjs.com/ember-data/1.13/classes/DS.ActiveModelAdapter
所以,它看起来像是从 DS 中移出的:
https://github.com/ember-data/active-model-adapter
我们有 ember-data 2.13.2,它与 active-model-adapter
一起工作正常
但是我们在使用嵌套行为 ember-data 2.14.11 时遇到了一些问题
这里的大问题是重写后端部分。
我们也可以使用 RESTAdapter:
https://www.emberscreencasts.com/posts/113-restadapter-vs-jsonapiadapter-vs-activemodeladapter
但看起来 ember 方式是 JSONAPI 适配器方式:
https://api.emberjs.com/ember-data/release/classes/JSONAPIAdapter
所以,一般来说,问题是:哪种方式更适合 ember-升级?
- 保留后端 API 并维护 active-model-adapter
- 重写后端 API 并迁移到
JSONAPIAdapter
(使用 data/relationships 方法)
- 重写后端 API 并迁移到 RESTAdapter
- 保留后端 API 并实现自定义序列化程序以动态更改 input/output 在 FE 上使用 JSONAPIAdapter 或 RESTAdapter(选择最佳)逻辑(也许这是一些疯狂的方式,但只是问)
注意:RubyOnRails 上的后端 API
不需要重写您的后端。 Ember 数据足够灵活,可以处理所有在其端点之间遵循某种约定的 REST API。
让我们看看您的具体用例。
ActiveModelAdapter
和 ActiveModelSerializer
是 deprecated in Ember Data 1.13 and removed in Ember Data 2.0. But the logic itself is still available through active-model-adapter 包。
该包所做的只是提供对 Ember Data 内置 RestAdapter
和 RestSerializer
包的自定义。如果您忽略源代码文档,实际上代码并不多。您可以在 addon/
folder of active-model-adapter package.
中找到它
因此,即使此包不可用,您仍然可以以相同的方式自定义 RestAdapter
和 RestSerializer
以按原样支持您的后端。
DS.ActiveModelAdapter 的文档仅适用于 1.13(对于 2 - 404: https://api.emberjs.com/ember-data/1.13/classes/DS.ActiveModelAdapter 所以,它看起来像是从 DS 中移出的: https://github.com/ember-data/active-model-adapter
我们有 ember-data 2.13.2,它与 active-model-adapter
一起工作正常
但是我们在使用嵌套行为 ember-data 2.14.11 时遇到了一些问题
这里的大问题是重写后端部分。 我们也可以使用 RESTAdapter: https://www.emberscreencasts.com/posts/113-restadapter-vs-jsonapiadapter-vs-activemodeladapter 但看起来 ember 方式是 JSONAPI 适配器方式: https://api.emberjs.com/ember-data/release/classes/JSONAPIAdapter
所以,一般来说,问题是:哪种方式更适合 ember-升级?
- 保留后端 API 并维护 active-model-adapter
- 重写后端 API 并迁移到
JSONAPIAdapter
(使用 data/relationships 方法) - 重写后端 API 并迁移到 RESTAdapter
- 保留后端 API 并实现自定义序列化程序以动态更改 input/output 在 FE 上使用 JSONAPIAdapter 或 RESTAdapter(选择最佳)逻辑(也许这是一些疯狂的方式,但只是问)
注意:RubyOnRails 上的后端 API
不需要重写您的后端。 Ember 数据足够灵活,可以处理所有在其端点之间遵循某种约定的 REST API。
让我们看看您的具体用例。
ActiveModelAdapter
和 ActiveModelSerializer
是 deprecated in Ember Data 1.13 and removed in Ember Data 2.0. But the logic itself is still available through active-model-adapter 包。
该包所做的只是提供对 Ember Data 内置 RestAdapter
和 RestSerializer
包的自定义。如果您忽略源代码文档,实际上代码并不多。您可以在 addon/
folder of active-model-adapter package.
因此,即使此包不可用,您仍然可以以相同的方式自定义 RestAdapter
和 RestSerializer
以按原样支持您的后端。