Расширение angular-in-memory-web-api - PullRequest
       31

Расширение angular-in-memory-web-api

0 голосов
/ 02 ноября 2018

Моя организация возвращает один и тот же объект для любого API.

Это обертка вокруг фактического нормального ответа, который вы ожидаете от успокоительного API например api / products возвращает объект MyOrgResponse, который может выглядеть как

{true, products[], notifications[] } 

и API / продукты / 123 возвращает

{true, product123, notifications[] } 

Это нарушает angular-in-memory-web-api, так как ожидает доступ к спокойной коллекции, например.

{products} or {product123}

Я могу расширить службу и перехватить метод get (reqInfo: RequestInfo) {}. Здесь я могу переписать коллекцию, которую она ищет (например, если был вызван мой api / products / 123). Затем я реконструирую тело, чтобы вернуть MyOrgObject.

Первый бит работает, но есть идеи о том, как я восстанавливаю объект body / response, когда моя подписка взрывается, говоря:

"TypeError: You provided an invalid object where a stream was expected. You can provide an Observable, Promise, Array, or Iterable" ... 

Я делаю это, чтобы восстановить

 body:  {"operationSucceeded": true, "data": product, "notifications": []}

спасибо

...