AngularJS の $http で奇妙な動作が発生し、transformResponse がどのように機能するかをよく理解していません (ドキュメントはこれについて少し軽くなっています)。
WebAssets.get = function () {
return $http.get('/api/webassets/list', {
transformResponse: [function (data, headersGetter) {
// not sure what to do here?!
return data;
}].concat($http.defaults.transformResponse) // presume this isn't needed, added for clarity
}).then(function (response) {
return new WebAssets(response.data);
});
};
API はオブジェクトの配列を返します。
[{"webasset_name": "...", "application_id": "...", "etc": "..."}, ... ]
しかし、transformResponse が実行されると、データはインデックス付きオブジェクトに変換されます。
{"0":{"webasset_name":"...","application_id":"...", "etc": "..."}, "1":....}
元のデータ構造 (オブジェクトの配列) を保持したい。