如何在Angular5应用程序中使用in-memory-web-api和真实服务API

问题描述 投票:0回答:1

我正在使用内存web-api和真正的api时遇到问题。当我打电话给它时,它不会触发它在内存中寻找内存网络API。我想在某些页面中使用in-memory-web-api,因为我的其余api还没准备好。有些页面我得到了真正的服务API。当我整合真正的服务时,它不会触发。经过一些长时间的分析,我发现因为内存中的web-api无法正常工作。如果有任何方法可以在Angular5应用程序中使用它们,请告诉我。

import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';

//import Section    

import { LocaldatasericeService }  from './localdataserice.service';
HttpClientInMemoryWebApiModule.forRoot(
  LocaldatasericeService, { dataEncapsulation: false }
)

另一个service.js我打电话给真正的帖子。

getTables(): Observable<any[]> {
   let parser = new DOMParser();
   let xmlString ='<stp><parameters><selFilter>V</selFilter></parameters></stp>';
   let doc = parser.parseFromString(xmlString, "application/xml");
   return this.http.post<any[]>('http://blabla.phs.org:7980/SASBIWS/rest/storedProcesses/Web/hsd3_hsd_pcp_try_111/dataTargets/_WEBOUT',doc,httpOptions);
}
angular angular5 angular-httpclient angular-in-memory-web-api
1个回答
1
投票

在app.module.ts的以下配置中添加passThruUnknownUrl:true后,它开始工作。

@NgModule({
   imports: [
      ....
      HttpClientModule,
      ...
      HttpClientInMemoryWebApiModule.forRoot(
        LocaldatasericeService,{ dataEncapsulation: false,
        passThruUnknownUrl: true }
      )
      ...
  ]
© www.soinside.com 2019 - 2024. All rights reserved.