import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs/Observable'; import { catchError } from 'rxjs/operators'; import 'rxjs/add/observable/throw'; import { Pizza } from '../models/pizza.model'; @Injectable() export class PizzasService { constructor(private http: HttpClient) {} getPizzas(): Observable { return this.http .get(`/api/pizzas`) .pipe(catchError((error: any) => Observable.throw(error.json()))); } createPizza(payload: Pizza): Observable { return this.http .post(`/api/pizzas`, payload) .pipe(catchError((error: any) => Observable.throw(error.json()))); } updatePizza(payload: Pizza): Observable { return this.http .put(`/api/pizzas/${payload.id}`, payload) .pipe(catchError((error: any) => Observable.throw(error.json()))); } removePizza(payload: Pizza): Observable { return this.http .delete(`/api/pizzas/${payload.id}`) .pipe(catchError((error: any) => Observable.throw(error.json()))); } }