Clientul HTTP Asincron: HttpModule și HttpService în NestJS

http NestJS 10.x / @nestjs/axios Q&A / Distribuie cod

Efectuarea de apeluri HTTP externe către alte API-uri și microservicii: clientul robust bazat pe Axios cu suport complet pentru RxJS și Promises.

Sintaxă
this.httpService.get(url).pipe(...) / firstValueFrom(this.httpService.get(url))

Pachetul @nestjs/axios integrează biblioteca populară Axios în arhitectura NestJS prin intermediul HttpService.

Toate metodele HTTP (get(), post(), put()) returnează fluxuri reactive Observable<AxiosResponse>, care pot fi compuse ușor cu operatori RxJS (retry, timeout) sau convertite în Promises standard prin funcția firstValueFrom().

Exemplu: Apel HTTP extern cu HttpService și firstValueFrom
import { Injectable } from '@nestjs/common';
import { HttpService } from '@nestjs/axios';
import { firstValueFrom } from 'rxjs';

@Injectable()
export class WeatherService {
  constructor(private readonly httpService: HttpService) {}

  async getWeather(city: string): Promise {
    const response = await firstValueFrom(
      this.httpService.get(`https://api.weather.com/v1/${city}`, {
        headers: { Accept: 'application/json' },
      }),
    );
    return response.data;
  }
}

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Clientul HTTP Asincron: HttpModule și HttpService

Ai o nelămurire despre utilizarea comenzii Clientul HTTP Asincron: HttpModule și HttpService sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.