[Angular] Problem z requestem do API

[Angular] Problem z requestem do API
Akiro
  • Rejestracja:prawie 8 lat
  • Ostatnio:prawie 5 lat
  • Postów:13
0

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

Kopiuj
 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:

Kopiuj
 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.

edytowany 3x, ostatnio: Akiro
SE
  • Rejestracja:prawie 9 lat
  • Ostatnio:ponad 3 lata
  • Postów:13
0

Podwójnie podajesz parametr APPID w zapytaniu.

VI
  • Rejestracja:prawie 7 lat
  • Ostatnio:ponad rok
  • Postów:9
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.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.