.net Httpclient Query Parameters

4 min read Jun 04, 2024
.net Httpclient Query Parameters

Utiliser les paramètres de requête avec HttpClient dans .NET

Introduction

Dans le monde du développement .NET, HttpClient est un outil indispensable pour effectuer des requêtes HTTP. Il offre une variété de fonctionnalités, notamment la possibilité d'ajouter des paramètres de requête à vos demandes. Ces paramètres sont essentiels pour filtrer, trier et personnaliser les données que vous récupérez d'un serveur.

Comment ajouter des paramètres de requête avec HttpClient

Pour ajouter des paramètres de requête à une demande HttpClient, vous pouvez utiliser la méthode AddQueryString de la classe UriBuilder. Voici un exemple :

using System.Net.Http;
using System.Text;

// Créer un objet UriBuilder
UriBuilder uriBuilder = new UriBuilder("https://api.example.com/products");

// Ajouter des paramètres de requête
uriBuilder.Query = "category=electronics&price=100";

// Créer un objet HttpClient
HttpClient client = new HttpClient();

// Créer une demande GET
HttpRequestMessage request = new HttpRequestMessage(HttpMethod.Get, uriBuilder.Uri);

// Envoyer la requête
HttpResponseMessage response = await client.SendAsync(request);

// Traiter la réponse
string content = await response.Content.ReadAsStringAsync();

Dans cet exemple, nous ajoutons deux paramètres à notre requête : category avec la valeur electronics et price avec la valeur 100.

Différentes approches

Il existe plusieurs façons d'ajouter des paramètres de requête à HttpClient. Voici quelques alternatives :

  • Utiliser une chaîne de requête directement dans l'URL:
HttpClient client = new HttpClient();
string url = "https://api.example.com/products?category=electronics&price=100";
HttpResponseMessage response = await client.GetAsync(url);
  • Utiliser un dictionnaire pour stocker les paramètres :
HttpClient client = new HttpClient();
var parameters = new Dictionary
{
    { "category", "electronics" },
    { "price", "100" }
};

string queryString = string.Join("&", parameters.Select(x => $"{x.Key}={x.Value}"));

string url = $"https://api.example.com/products?{queryString}";
HttpResponseMessage response = await client.GetAsync(url);
  • Utiliser un objet QueryString:
using System.Web;

HttpClient client = new HttpClient();
var queryString = HttpUtility.ParseQueryString(string.Empty);
queryString["category"] = "electronics";
queryString["price"] = "100";

string url = $"https://api.example.com/products?{queryString}";
HttpResponseMessage response = await client.GetAsync(url);

Conclusion

Les paramètres de requête sont un élément crucial pour interagir avec des API web via HttpClient. En les utilisant efficacement, vous pouvez personnaliser vos demandes et obtenir les données souhaitées. Choisissez l'approche qui correspond le mieux à votre situation et profitez de la puissance de HttpClient dans vos projets .NET.

Featured Posts