.net 6 Addhttpclient

4 min read Jun 03, 2024
.net 6 Addhttpclient

Ajoutez facilement des clients HTTP dans vos applications .NET 6 avec AddHttpClient

L'intégration des requêtes HTTP dans les applications .NET 6 est simplifiée grâce à l'extension de service AddHttpClient. Ce guide vous montre comment l'utiliser efficacement pour créer des clients HTTP robustes et personnalisables.

Les bases d'AddHttpClient

L'extension AddHttpClient est un outil puissant pour ajouter des clients HTTP à votre application .NET 6. Elle simplifie le processus en vous permettant de configurer le client HTTP de manière déclarative dans votre fichier Program.cs.

Voici un exemple de base pour ajouter un client HTTP à votre application :

var builder = WebApplication.CreateBuilder(args);

builder.Services.AddHttpClient("MyApiClient", client =>
{
    client.BaseAddress = new Uri("https://api.example.com");
});

var app = builder.Build();

Dans cet exemple, nous ajoutons un client HTTP nommé "MyApiClient" avec l'adresse de base définie sur "https://api.example.com". Vous pouvez ensuite injecter ce client dans vos services ou contrôleurs pour effectuer des requêtes HTTP.

Personnaliser les clients HTTP

AddHttpClient offre une grande flexibilité pour personnaliser votre client HTTP. Vous pouvez ajouter des options supplémentaires comme l'ajout d'un en-tête personnalisé, la configuration d'un délai d'attente ou l'utilisation d'un gestionnaire de certificats.

builder.Services.AddHttpClient("MyApiClient", client =>
{
    client.BaseAddress = new Uri("https://api.example.com");
    client.DefaultRequestHeaders.Add("Authorization", "Bearer YourToken");
    client.Timeout = TimeSpan.FromSeconds(30);
});

Dans cet exemple, nous ajoutons un en-tête d'autorisation, configurons un délai d'attente de 30 secondes et spécifions une adresse de base.

Utiliser les clients HTTP dans votre application

Une fois que vous avez configuré votre client HTTP avec AddHttpClient, vous pouvez l'injecter dans vos services ou contrôleurs. Voici un exemple d'utilisation du client HTTP dans un contrôleur :

[ApiController]
public class MyController : ControllerBase
{
    private readonly HttpClient _apiClient;

    public MyController(IHttpClientFactory httpClientFactory)
    {
        _apiClient = httpClientFactory.CreateClient("MyApiClient");
    }

    [HttpGet]
    public async Task GetData()
    {
        var response = await _apiClient.GetAsync("/data");
        if (response.IsSuccessStatusCode)
        {
            var data = await response.Content.ReadAsStringAsync();
            return Ok(data);
        }

        return BadRequest();
    }
}

Dans cet exemple, nous injectons le IHttpClientFactory dans le contrôleur. Puis, nous créons une instance du client HTTP nommé "MyApiClient" et effectuons une requête GET à l'aide de la méthode GetAsync.

Conclusion

AddHttpClient est un outil puissant pour gérer les requêtes HTTP dans vos applications .NET 6. Il vous permet de créer des clients HTTP de manière efficace, personnalisable et facile à utiliser. En utilisant cette extension, vous pouvez simplifier votre code et améliorer la maintenabilité de votre application. N'hésitez pas à explorer les nombreuses options de personnalisation offertes par AddHttpClient pour répondre à vos besoins spécifiques.