Angular 使用In memory api 来模拟httpclient响应。

先简单说一下使用流程:

  1. 导入
    在项目根模块内(通常是app.module.ts)导入依赖:
    import { HttpClientModule, HttpClient } from '@angular/common/http';
    import { HttpClientInMemoryWebApiModule } from 'angular-in-memory-web-api';
  2. 定义服务
    创建模拟库,需要 继承InMemoryDbService接口,
    创建一个服务“in-memory-data.service.ts”
import { InMemoryDbService } from 'angular-in-memory-web-api';

export class InMemoryDataService implements InMemoryDbService {
  createDb() {
    const a=[];
    const b=[];
    return {a,b}
  }
}

这里的写法a、b是模拟多个数据集合。

  1. 在根模块里导入定义好的InMemoryDataService
import { InMemoryDataService }  from './models/in-memory-data.service';
imports: [
    HttpClientModule,
    HttpClientInMemoryWebApiModule.forRoot(
      InMemoryDataService, { dataEncapsulation: false }
    )
  ]

这样,在别的服务里就可以使用了。在http.get(url)可以有下面等多种调用。

urla ="api/a",
urlb ="api/b"
urlaId ="api/a/1",
urlbId ="api/b/1"
urlap ="api/a/?property=",
urlbp ="api/b/?property=^"
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容