File

src/app/pets/pet.service.ts

Index

Properties
Methods

Constructor

constructor(http: HttpClient, httpErrorHandler: HttpErrorHandler)
Parameters :
Name Type Optional
http HttpClient No
httpErrorHandler HttpErrorHandler No

Methods

addPet
addPet(pet: Pet)
Parameters :
Name Type Optional
pet Pet No
Returns : Observable<Pet>
deletePet
deletePet(petId: string)
Parameters :
Name Type Optional
petId string No
Returns : Observable<number>
getPetById
getPetById(petId: string)
Parameters :
Name Type Optional
petId string No
Returns : Observable<Pet>
getPets
getPets()
Returns : Observable<Pet[]>
updatePet
updatePet(petId: string, pet: Pet)
Parameters :
Name Type Optional
petId string No
pet Pet No
Returns : Observable<Pet>

Properties

Private entityUrl
Default value : environment.REST_API_URL + 'pets'
Private Readonly handlerError
Type : HandleError
import {Injectable} from '@angular/core';
import {environment} from '../../environments/environment';
import {Observable} from 'rxjs';
import {Pet} from './pet';
import {HttpClient} from '@angular/common/http';
import {catchError} from 'rxjs/operators';
import {HandleError, HttpErrorHandler} from '../error.service';

@Injectable()
export class PetService {

  private entityUrl = environment.REST_API_URL + 'pets';

  private readonly handlerError: HandleError;

  constructor(private http: HttpClient, private httpErrorHandler: HttpErrorHandler) {
    this.handlerError = httpErrorHandler.createHandleError('OwnerService');
  }

  getPets(): Observable<Pet[]> {
    return this.http.get<Pet[]>(this.entityUrl)
      .pipe(
        catchError(this.handlerError('getPets', []))
      );
  }

  getPetById(petId: string): Observable<Pet> {
    return this.http.get<Pet>(this.entityUrl + '/' + petId)
      .pipe(
        catchError(this.handlerError('getPetById', {} as Pet))
      );
  }

  addPet(pet: Pet): Observable<Pet> {
    return this.http.post<Pet>(this.entityUrl, pet)
      .pipe(
        catchError(this.handlerError('addPet', pet))
      );
  }

  updatePet(petId: string, pet: Pet): Observable<Pet> {
    return this.http.put<Pet>(this.entityUrl + '/' + petId, pet)
      .pipe(
        catchError(this.handlerError('updatePet', pet))
      );
  }

  deletePet(petId: string): Observable<number> {
    return this.http.delete<number>(this.entityUrl + '/' + petId)
      .pipe(
        catchError(this.handlerError('deletePet', 0))
      );
  }

}

result-matching ""

    No results matching ""