import { Injectable } from '@angular/core'; import { HttpClient } from '@angular/common/http'; import { Observable } from 'rxjs'; import { map } from 'rxjs/operators'; const API_URL = 'https://nature-image-api.now.sh/search?q='; export interface ImageResult { image: string; } export interface APIResult { images: ImageResult[]; } @Injectable({ providedIn: 'root' }) export class ImageApiService { constructor(private http: HttpClient) { } getImages(searchTerm): Observable<string[]> { return this.http.get<APIResult>(`${API_URL}${searchTerm}`) .pipe(map(({ images }) => images.map(({ image }: ImageResult) => image))); } }