[Angular] Problem z requestem do API

0

Cześć, wykonuję zapytanie do API pogodowego o poniższej treści:

 public getCurrentWeather() {
    this._searchUrlCurrent =  this._searchUrlCurrent + this.city + this.apikey;
    return this._http.get<City>(this._searchUrlCurrent).pipe(
      map((data: any) => {
      return  data;
      }));
  }

I następnie w komponencie:

 ngOnInit() {
    this.httpService.getCurrentWeather()
    .subscribe((data: any) => {
      this.city = data;
    });
  }

I o ile to wszystko działa za pierwszym wysłaniem zapytania, tak za drugim mam następujący komunikat;
https://imgur.com/iPKvBHp
Czy ktoś mógłby mi doradzić jak zwalczyć ten błąd?

Angular wersja 7.

0

Podwójnie podajesz parametr APPID w zapytaniu.

0

Na zdjęciu od razu widać, że z URL jest coś nie tak.
Linia:
> this._searchUrlCurrent = this._searchUrlCurrent + this.city + this.apikey;

Przypisujesz za pierwszym razem do zmiennej, a potem jej używając robisz kolejne.
Może?
> this._http.get<City>(${this.API_URL}/${searchParams}${this.API_KEY})

API_URL zrób jako stałą na serwisie/environment'cie

Do appid możesz zrobić interceptor który Ci to będzie sam dorzucał.

Z kolei,

.pipe(
map((data: any) => {
return data;
}));

Po co ten map?

Staraj się też unikać any i zamiast tego typować, wyjdzie Ci to na dobre.

1 użytkowników online, w tym zalogowanych: 0, gości: 1