1 import { Injectable } from '@angular/core';
2 import { Observable, of, EMPTY } from 'rxjs';
3 import { Hero } from './hero';
4 import { HEROES } from './mock-heroes';
5 import { HttpClient } from '@angular/common/http';
6 import { MessageService } from './message.service';
12 export class HeroService {
14 private heroesUrl = 'api/heroes'; // URL to web api
17 private http: HttpClient,
18 private messageService: MessageService) { }
20 getHeroes(): Observable<Hero[]> {
21 this.log('fetching heroes...');
22 return this.http.get<Hero[]>(this.heroesUrl);
25 getHero(id: number): Observable<Hero> {
26 this.log(`requested hero id=${id}`);
27 const found: Hero | undefined = HEROES.find(hero => hero.id === id);
28 if (found === undefined) {
35 /** Log a HeroService message with the MessageService */
36 private log(message: string) {
37 this.messageService.add(`HeroService: ${message}`);