2

私はEmberにかなり慣れていません。次のような単純な配列を返すサービスがあります

[
  "abc",
  "bcd",
  "cde",
  "def",
  "efg"
]

私のモデルはこのようなものです

import Model from 'ember-data/model';
import attr from 'ember-data/attr';

export default Model.extend({
  value: attr()
});

シリアライザー(RESTSerializerで試しています)では、このデータをサービス呼び出しが行われるroute.jsに送り返したいと思います。サービス コールは、いかなる方法でも変更できない API に対するものです。

私はばかげているかもしれない多くの方法を試し、たくさんグーグルしました。残念ながら、解決策を見つけることができませんでしたが、それほど難しいことではないと思います。

上記のようにシリアライザーでペイロードを取得し、応答をログに記録できました。そこから何が返され、どのシリアライザーが適しているかが私の現在の問題です。これを理解するためにさらに詳細が必要かどうか、私に尋ねてください. シンプルでわかりやすいように、あまり投稿していません。どんな助けでも大歓迎です。

4

1 に答える 1

1

Ember Data を使用したくない場合があります。ただし、に実装することで可能normalizeResponseですSerializer

たとえば、モデル名が「account」の場合:

export default DS.RESTSerializer.extend({
    normalizeResponse(store, primaryModelClass, payload, id, requestType) {
        let newPayload= {
            accounts: [{
                value: payload
            }]
        };
        return this._super(store, primaryModelClass, newPayload, id, requestType);
    }
});
于 2016-05-20T19:21:28.587 に答える