Mam kontroler serwis internetowy, który serwuje „aktywność” Danekątowa nsResource tworzy tablicę tablic char na odpoczynek tablic łańcuchowych
GET /api/activity/list
GET /api/activity/1
GET /api/activity/activity-slug-name
PUT /api/activity
DELETE /api/activity/1
Służy on także jakieś dane „meta”
GET /api/activity/meta/dates
GET /api/activity/meta/states
Wszystkie działają bardzo dobrze przy użyciu ngResource, ponieważ wszystkie zwracają obiekty JSON. Jednakże/api/działalności/meta/daty nie
Zwraca tablicę ciągów
[
"2013-06-02T17:05:16Z",
"2013-06-07T17:05:16Z",
"2013-08-17T17:05:16Z"
]
ngResource zamienia to na tablicę tablic char patrz: Invalid result from ngResource request with string array
Oczywiście mogę po prostu podzieliłem funkcje meta na jakąś formę ActivityMetaService, ale wolałbym zachować to wszystko razem.
Moje pytanie to
Czy istnieje sposób, aby zatrzymać ngResource przed wykonaniem tej nadgorliwej dekompozycji obiektu?
Czy powinienem zrobić błąd z kątem?
góry dzięki
* AKTUALIZACJA *
Dzięki Mark za komentarz. Jeśli umieściłbyś to jako odpowiedź, zaakceptowałbym to, ponieważ wskazuje na błąd w Angular, a pozostałe dwie odpowiedzi nie pasują do obecnej architektury.
Gdy jesteś techniczny poprawne, choć nikt ciągów jako tablica znaków od połowy lat 80-tych, C/C++ na bok :)
mam podniesione bilet na github z projektem angularjs odniesienie poniżej
https://github.com/angular/angular.js/issues/2664
Dzieje się tak z powodu użycia 'angular.copy()' '$ wewnątrz zasobu()'. Gdy funkcja 'copy()' znajdzie tablicę łańcuchów, traktuje ciąg jako tablicę znaków (którą faktycznie jest). Nie ma sposobu, żebym wiedział, aby wyłączyć to zachowanie, jedyną prawdziwą drogą jest teraz użycie usługi '$ http' bezpośrednio. –