如何在内存Web API中使用两个不同的JSON

Sou*_*war 2 angular2-template angular2-routing angular2-services angular

我正在为两个json服务(DB)使用In memory Web API

1)

import {InMemoryDbService} from 'angular-in-memory-web-api';
export class InMemoryDataService implements InMemoryDbService {
    createDb() {
        let heroes = [
            {id: 11, 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 {heroes};
    }
}      
Run Code Online (Sandbox Code Playgroud)

2)

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

import {Address} from "cluster";

export class StudentData implements InMemoryDbService {
    createDb() {

        let students = [
            {
                id: 11,
                FirstName: 'Mounika',
                LastName: 'Gangamwar',
                email: 'asa@gmailc.com',
                Phonenumber: 1111,
                Address: '2323',
                Password: 'asa',
                CPassword: 'aa'
            }
        ];
        return {students};
    }
}
Run Code Online (Sandbox Code Playgroud)

我的app.module.js是

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

import {InMemoryDataService}  from './in-memory-data.service';

import {StudentData} from './forms/student.data.service';

@
NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        InMemoryWebApiModule.forRoot(InMemoryDataService, StudentData)
    ],
    declarations: [AppComponent],
    bootstrap: [UIView]
})
Run Code Online (Sandbox Code Playgroud)

我的问题是我无法在其中添加两个数据库 InMemoryWebApiModule.forRoot(InMemoryDataService,StudentData)]

我在StudentData服务中收到404错误。如果我从中删除一个dbService可以正常工作

我的疑问是如何在forRoot方法中添加两个dbservices?

小智 5

您可以为这两者使用一项服务,并以解决方案的集合名称返回两者。

这是InMemoryDataService

import {InMemoryDbService} from 'angular-in-memory-web-api';
export class InMemoryDataService implements InMemoryDbService {
    createDb() {
        let heroes = [
            {id: 11, 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'}
        ];
        let students = [
            {
                id: 11,
                FirstName: 'Mounika',
                LastName: 'Gangamwar',
                email: 'asa@gmailc.com',
                Phonenumber: 1111,
                Address: '2323',
                Password: 'asa',
                CPassword: 'aa'
            }
        ];
        return {heroes, students};
    }
}
Run Code Online (Sandbox Code Playgroud)

应用模块就是这样

import {InMemoryWebApiModule} from 'angular-in-memory-web-api';
import {InMemoryDataService}  from './in-memory-data.service';
@NgModule({
    imports: [
        BrowserModule,
        FormsModule,
        InMemoryWebApiModule.forRoot(InMemoryDataService, {apiBase: '/api'})
    ],
    declarations: [AppComponent],
    bootstrap: [UIView]
})
Run Code Online (Sandbox Code Playgroud)

集合名称将根据每个学生和英雄“ / api / heroes”和&“ / api / students”的URL生成。