1

当我将 in-memory-web-api 与真正的 api 一起使用时,我遇到了问题。当我打电话给 post call 它没有触发它正在寻找 in-memory-web-api。我想对某些页面使用 in-memory-web-api,因为我的 rest api 还没有准备好。有些页面我得到了真正的服务 API。当我集成真正的服务时,它不会触发。经过长时间的分析,我发现由于 in-memory-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 我正在调用真正的 post call。

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);
}
4

1 回答 1

2

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

@NgModule({
   imports: [
      ....
      HttpClientModule,
      ...
      HttpClientInMemoryWebApiModule.forRoot(
        LocaldatasericeService,{ dataEncapsulation: false,
        passThruUnknownUrl: true }
      )
      ...
  ]
于 2018-09-07T01:05:52.497 回答