Ember JsonApi 序列化覆盖 normalizeResponse。如何解释参数

Ember JsonApi Serialize override normalizeResponse. How to interpret the parameters

我在 Ember.js 中使用 JsonApiSerializer,我想覆盖标准行为。我希望某些型​​号的行为有所不同。因此,我想检查参数 primaryModelClass 以确定模型类型,但如何解释该参数?我试图检查它,但我得到的只是 "unknown mixin".

我看过这里的文档:

https://emberjs.com/api/ember-data/3.0/classes/DS.JSONAPISerializer/methods/normalizeResponse?anchor=normalizeResponse

我有这段代码

import DS from 'ember-data';
export default DS.JSONAPISerializer.extend({
    normalizeResponse: function(store, 
                                primaryModelClass, 
                                payload, id, requestType) {
    console.log(primaryModelClass.toString());
...

输出(unknown mixin)

如何在 normalizeResponse 方法中找到模型类型?

我使用 Ember 3.0。

所以文档对此不是很清楚,但你已经很接近了:

您需要使用 primaryModelClass.modelName 它将 return 模型名称的字符串。

https://www.emberjs.com/api/ember-data/3.0/classes/DS.JSONAPISerializer/methods/normalizeResponse?anchor=normalizeResponse

但是,这可能不是您想要的方法。对于您需要的操作类型,有更具体的方法:normalize<storeMethod>Response:即。 normalizeQueryResponse

如果您需要针对特定​​模型进行特定转换,您也可以生成特定于模型的序列化程序。因此,您可以通过 运行 ember generate serializer post

post 模型创建一个不同于 comment 模型的序列化程序