.net Core Httpclient Example

5 min read Jun 03, 2024
.net Core Httpclient Example

Appeler des API externes avec HttpClient dans .NET Core

Le HttpClient est une classe puissante dans .NET Core qui vous permet d'effectuer des appels HTTP vers des services web externes. C'est un outil essentiel pour toute application .NET Core qui interagit avec des API RESTful.

Dans cet article, nous allons explorer un exemple concret d'utilisation de HttpClient pour appeler une API et obtenir des données.

Créer un projet .NET Core

Commencez par créer un nouveau projet .NET Core Console Application dans Visual Studio ou en utilisant l'interface de ligne de commande (CLI).

Installer le package NuGet

Assurez-vous que le package System.Net.Http est installé dans votre projet. Il est généralement inclus par défaut, mais il est bon de le vérifier.

Créer une classe de service

Créons une classe de service simple pour encapsuler la logique de notre appel HttpClient. Cette classe sera responsable de la communication avec l'API externe.

using System.Net.Http;
using System.Threading.Tasks;

public class ApiService
{
    private readonly HttpClient _httpClient;

    public ApiService()
    {
        _httpClient = new HttpClient();
    }

    public async Task GetWeatherData(string city)
    {
        var response = await _httpClient.GetAsync($"https://api.openweathermap.org/data/2.5/weather?q={city}&appid=YOUR_API_KEY");

        if (response.IsSuccessStatusCode)
        {
            return await response.Content.ReadAsStringAsync();
        }

        return null;
    }
}

Explication du code:

  • La classe ApiService est créée avec un champ privé _httpClient.
  • Le constructeur initialise une nouvelle instance de HttpClient.
  • La méthode GetWeatherData prend le nom d'une ville comme paramètre et utilise HttpClient pour appeler l'API OpenWeatherMap.
  • L'URL de l'API est construite en utilisant l'API Key et le nom de la ville.
  • La méthode vérifie si la requête a été effectuée avec succès en utilisant IsSuccessStatusCode.
  • Si la requête a réussi, le contenu de la réponse est lu en tant que chaîne et retourné.

Utiliser le service dans le programme principal

Maintenant, dans votre programme principal, vous pouvez utiliser le service pour appeler l'API et afficher les données.

using System;
using System.Threading.Tasks;

public class Program
{
    public static async Task Main(string[] args)
    {
        var apiService = new ApiService();
        var weatherData = await apiService.GetWeatherData("Paris");

        if (weatherData != null)
        {
            Console.WriteLine(weatherData);
        }
        else
        {
            Console.WriteLine("Erreur lors de l'appel de l'API.");
        }
    }
}

Explication du code:

  • Une instance de ApiService est créée.
  • La méthode GetWeatherData est appelée pour obtenir les données météo pour la ville de Paris.
  • Si la requête a réussi, le résultat est affiché dans la console.

Conclusion

Cet exemple vous a montré comment utiliser HttpClient dans .NET Core pour appeler une API externe et récupérer des données. Vous pouvez adapter ce code pour vos besoins spécifiques en utilisant différentes API et méthodes HTTP. HttpClient est un outil puissant qui vous permet d'intégrer facilement des services web externes dans vos applications .NET Core. N'oubliez pas de remplacer "YOUR_API_KEY" par votre propre clé d'API OpenWeatherMap pour faire fonctionner cet exemple.