如何在内存web api中为两个不同的jsons

时间:2017-01-04 07:05:24

标签: angular angular2-routing angular2-template angular2-services

我在内存web api中使用两个json服务(DB)

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

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

我的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]
})

我的问题是我无法在InMemoryWebApiModule.forRoot(InMemoryDataService,StudentData)]

中添加两个数据库

StudentData 服务收到404错误。如果我删除了一个dbService,它正常工作

我怀疑如何向forRoot方法添加两个dbservices?

1 个答案:

答案 0 :(得分:4)

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

这是InMemoryDataService

data = [[1.0, 7.0, 1.0], [5.0, 9.0, 2.0], [6.0, 15.0, 4.0]] #[RF, Soil Moist, Wilting pt]
results = []
for vector in data:
    checks = [False, False, False]
    if(vector[0]<5.0):
        checks[0]=True
    if(vector[1]>=8.0 and vector[1]<=16.0):
        checks[1]=True
    if(vector[2]>=2.0 and vector[2]<=4.0):
        checks[2]=True

    #Decision
    num_trues = sum(checks)
    results.append(num_trues)

print(num_trues)

应用模块就是这样

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

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