Я пытаюсь отправить запрос (получить или опубликовать) из своего углового сервиса в in-memory-data.service (как в уроке Angular 6 TourOfHeroes), но мне нужно отправить 2 фильтра даты и применить их кполя.Эти поля являются частью объекта, а объект является списком в модели.
Вот мой код из in-memory-data.service:
import { Injectable } from '@angular/core';
import { InMemoryDbService } from 'angular-in-memory-web-api';
import { StreamDataModel } from './stream-data/stream-data-model';
import { StreamDataViewModel } from './stream-data/stream-data-view-model';
@Injectable({
providedIn: 'root'
})
export class InMemoryDataService implements InMemoryDbService {
createDb() {
const streamDataModels: StreamDataModel[] = [
{ id: 1, streamProjectId: 1, rawData: 'rawData1', exportData: 'exportData1', areDataExported: true, isStreamValid: true, contentMessage: '', clientDatabaseName: 'clientDatabaseName', exportDate: new Date(2018, 2, 5, 5, 30), insertDate: new Date(2018, 2, 5, 4, 2) },
{ id: 2, streamProjectId: 1, rawData: 'rawData2', exportData: '', areDataExported: false, isStreamValid: true, contentMessage: '', clientDatabaseName: 'clientDatabaseName', exportDate: null, insertDate: new Date(2018, 1, 14, 15, 7) },
{ id: 3, streamProjectId: 1, rawData: 'rawData3', exportData: '', areDataExported: false, isStreamValid: false, contentMessage: 'data not valid', clientDatabaseName: 'clientDatabaseName', exportDate: null, insertDate: new Date(2018, 1, 1, 10, 55) }
];
const streamDataViewModel: StreamDataViewModel =
{ errorMessage: '', streamDatas: streamDataModels };
return { streamDataModels, streamDataViewModel };
}
genId(streamDataModels: StreamDataModel[]): number {
return streamDataModels.length > 0 ? Math.max(...streamDataModels.map(streamDataModel => streamDataModel.id)) + 1 : 1;
}
constructor() { }
}
, а вот мой кодиз stream-data.service:
import { Injectable } from '@angular/core';
import { HttpClient, HttpHeaders } from '@angular/common/http';
import { Observable, of } from 'rxjs';
import { StreamDataViewModel } from './stream-data/stream-data-view-model';
import { DataConverterService } from './data-converter.service';
import { catchError } from 'rxjs/operators';
@Injectable({
providedIn: 'root'
})
export class StreamDataService {
private getStreamDataViewModelUrl = 'api/streamDataViewModel';
constructor(private http: HttpClient, private dataConverterService: DataConverterService) { }
private handleError<T>(operation = 'operation', result?: T) {
return (error: any): Observable<T> => {
console.error(error);
return of(result as T);
};
}
getStreamDataViewModel(inferiorInsertDate: Date, superiorInsertDate: Date): Observable<StreamDataViewModel> {
return this.http.get<StreamDataViewModel>(this.getStreamDataViewModelUrl)
.pipe(
catchError(this.handleError<StreamDataViewModel>('getStreamDataViewModel'))
);
}
}
Мне нужно применить inferiorInsertDate и superiorInsertDate к полю insertDate.Я надеюсь, что вы мне поможете:)