InMemoryDbService的用途是什么?角6

时间:2018-05-10 12:27:44

标签: angular6

我试图从内存数据服务中获取多个对象而我无法设法做到这一点,只是想知道它是否有可能获得?或者我只能拥有一个测试数据而无法扩展它看起来像这样:

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

export class InMemoryDataService implements InMemoryDbService {
    createDb() {
        const groups = [
            {id: 0, name: 'Mr. Nice'},
            {id: 12, name: 'Narco'},
            {id: 13, name: 'Bombasto'},
            {id: 14, name: 'Celeritas'},
            {id: 15, name: 'Magneta'},
            {id: 16, name: 'RubberMan'},
            {id: 17, name: 'Dynama'},
            {id: 18, name: 'Dr IQ'},
            {id: 19, name: 'Magma'},
            {id: 20, name: 'Tornado'},
        ];
        return {groups}
    }
}

1 个答案:

答案 0 :(得分:1)

如果您想从InMemoryDbService获取整个数组,您需要向地址发送http get请求:'api / groups'

如果您只想从列表中返回特定对象,则需要向地址发送http get请求:'api / groups / id'其中id是在其中定义的数字之一你的团体const。

如果您打算将另一个集合添加到InMemoryDbService,您可以只定义一个新的const数组,然后将其添加到createDb方法的返回部分,如下所示:

const itemList = [
  {id: 1, name: "First item"},
  {id: 2, name: "Second item"},
];

return {
    groups: groups,
    items: itemList
}

请注意,端点现在是:'api / groups''api / groups / id''api / items''api / items / id'其中id是const数组中定义的数字之一。

您还需要在app.module.ts的imports数组中注册 InMemoryWebApiModule

imports: [
  InMemoryWebApiModule.forRoot(InMemoryDbService)
],