IRONSOFTWAREHOME
MISES À JOUR POUR LES DÉVELOPPEURS

RestSharp C# (Comment cela fonctionne pour les développeurs)

Jacob Mellor, Directeur technique @ Team Iron
Jacob Mellor
Updated: 19 juillet 2026

RestSharp est une bibliothèque .NET open-source populaire pour effectuer des requêtes HTTP en C#. Il simplifie le processus de travail avec les APIs RESTful, fournissant un moyen direct et flexible de communiquer avec les services Web. Dans cet article, nous explorerons les fonctionnalités cruciales de RestSharp et IronPDF et démontrerons comment vous pouvez extraire des données et générer un PDF.

Pourquoi RestSharp ?

Dans les applications modernes multi-niveaux, différents services ont souvent besoin de communiquer entre eux, et RestSharp offre un moyen simple et efficace en encapsulant toutes les complexités. Cela simplifie grandement le processus de développement logiciel.

Installer RestSharp

RestSharp est disponible en tant que package NuGet et peut être installé dans votre projet C#. Vous pouvez le faire en utilisant la console du gestionnaire de packages NuGet ou l'interface utilisateur du gestionnaire de packages NuGet de Visual Studio.

PM > Install-Package RestSharp

Effectuer des requêtes GET simples

Commençons par un exemple simple de requête GET vers une API RESTful en utilisant RestSharp. Supposons que nous souhaitions récupérer des informations d'une API publique ASP.NET core qui retourne des données utilisateur :

using RestSharp;
namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Base URL for the REST API
            var baseUrl = "https://jsonplaceholder.typicode.com/users";
            
            // Create a RestClientOptions with default credentials
            var options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);
            
            // Create a RestRequest for the GET method
            var request = new RestRequest();
            
            // Execute the request and get the response
            var response = client.Get(request);
            
            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response body content
                Console.WriteLine(response.Content);
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Additional method to log data
        public void LogData(string msg)
        {
            Console.WriteLine(msg);
        }
    }
}

RestSharp supporte également les requêtes et réponses asynchrones en utilisant les méthodes d'API asynchrones.

Gestion des données de réponse

RestSharp fournit des méthodes pratiques pour désérialiser le contenu de la réponse dans des objets C#. Étendons notre exemple pour désérialiser les données de réponse JSON dans une liste d'objets utilisateurs :

// Deserialize JSON response into a list of User objects
var users = JsonSerializer.Deserialize<List<User>>(response.Content);

// Output user information
foreach (var user in users)
{
    Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}, Email: {user.Email}");
}

Dans cet exemple, nous avons défini une classe User avec des propriétés correspondant aux champs JSON. Nous avons utilisé JsonSerializer.Deserialize depuis l'espace de noms System.Text.Json.

public class User
{
    [JsonPropertyName("company")]
    public Company Company { get; set; }
    
    [JsonPropertyName("id")]
    public int Id { get; set; }
    
    [JsonPropertyName("phone")]
    public string Phone { get; set; }
    
    [JsonPropertyName("website")]
    public string Website { get; set; }
    
    [JsonPropertyName("name")]
    public string Name { get; set; }
    
    [JsonPropertyName("username")]
    public string Username { get; set; }
    
    [JsonPropertyName("email")]
    public string Email { get; set; }
    
    [JsonPropertyName("address")]
    public Address Address { get; set; }
}

Sortie

Tous les ID et noms d'utilisateurs sont affichés dans la sortie.

RestSharp C# (Comment cela fonctionne pour le développeur) : Figure 1 - Sortie de la console affichant tous les ID utilisateur et noms.

L'ensemble du code est disponible sur Git à ce lien.

Type de contenu

RestSharp prend en charge l'envoi de requêtes avec un corps XML ou JSON. Les méthodes AddJsonBody ou AddXmlBody de l'instance RestRequest peuvent être utilisées pour ajouter un corps JSON ou XML. RestSharp définira automatiquement le type de contenu. Il gère automatiquement les réponses JSON ou XML.

// Serialize the user object to JSON
var jsonBodyString = JsonSerializer.Serialize(newUser);

// Create a RestRequest for the POST method with the JSON request data
var requestData = new RestRequest().AddJsonBody(jsonBodyString);
var response = client.ExecutePost(requestData);

Envoi de données avec des requêtes POST

RestSharp prend également en charge l'envoi de données dans le corps de la requête, ce qui est courant lors de la création ou de la mise à jour de ressources. Modifions notre exemple pour démontrer une API de requête POST :

using RestSharp;
using System.Text.Json;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            var client = new RestClient("https://jsonplaceholder.typicode.com/users");
            
            // New user object
            var newUser = new User
            {
                Name = "John Doe",
                Email = "john.doe@example.com"
            };
            
            // Serialize the user object to JSON
            var jsonBody = JsonSerializer.Serialize(newUser);
            
            // Create a RestRequest for the POST method with the JSON request body
            var request = new RestRequest().AddJsonBody(jsonBody);
            
            // Execute the POST request
            var response = client.ExecutePost(request);
            
            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Output the response content
                Console.WriteLine(response.Content);
            }
            else
            {
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }
    }
}

Dans cet exemple, nous créons un nouvel objet User, le sérialisons en JSON et l'incluons dans le corps de la requête en utilisant la méthode AddJsonBody. Le serveur reçoit les données JSON et traite la requête en conséquence.

Sortie

RestSharp C# (Comment cela fonctionne pour le développeur) : Figure 2 - Sortie de la console

Authentification

RestSharp prend également en charge l'envoi de requêtes avec authentification. Le RestClientOptions peut inclure des paramètres d'authentification.

var options = new RestClientOptions("https://auth.net")
{
    Authenticator = new HttpBasicAuthenticator(_clientId, _clientSecret)
};

Ici, nous utilisons une authentification client ID secret basique, qui est envoyée dans chaque requête.

Gestion des erreurs

RestSharp peut gérer les erreurs qui se produisent lors des requêtes URL, comme les erreurs de délai d'attente, d'authentification ou d'autorisation. RestSharp ne lance pas automatiquement une exception si la requête échoue. Il faut le configurer manuellement.

Les configurations de gestion des erreurs suivantes peuvent être effectuées :

  • FailOnDeserializationError : Définir cette propriété sur true indiquera à RestSharp de considérer la désérialisation échouée comme une erreur et de définir ResponseStatus sur Error en conséquence.
  • ThrowOnDeserializationError : Définir cette propriété sur true indiquera à RestSharp de lever une exception en cas d'échec de la désérialisation.
  • ThrowOnAnyError : Lève une exception en cas d'erreur lors de la requête ou de la désérialisation.
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);

Présentation d'IronPDF

IronPDF est une bibliothèque PDF C# de Iron Software qui aide à lire et générer des documents PDF. Il peut convertir facilement des documents formatés avec des informations de style en PDF. IronPDF peut facilement générer des PDF à partir de contenu HTML; il peut télécharger le HTML depuis une URL, puis générer des PDF.

Une fonctionnalité clé de IronPDF est la conversion HTML en PDF, préservant toutes vos mises en page et styles. Il transforme le contenu web en PDF, le rendant idéal pour les rapports, les factures et la documentation. Les fichiers HTML, les URLs et les chaînes HTML peuvent être facilement convertis en PDFs.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        // Create a PDF renderer using Chrome
        var renderer = new ChromePdfRenderer();

        // 1. Convert HTML String to PDF
        var htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>";
        var pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent);
        pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf");

        // 2. Convert HTML File to PDF
        var htmlFilePath = "path_to_your_html_file.html"; // Specify the path to your HTML file
        var pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath);
        pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf");

        // 3. Convert URL to PDF
        var url = "http://ironpdf.com"; // Specify the URL
        var pdfFromUrl = renderer.RenderUrlAsPdf(url);
        pdfFromUrl.SaveAs("URLToPDF.pdf");
    }
}

Installer la bibliothèque IronPDF

Pour intégrer IronPDF dans votre projet Selenium RestSharp en utilisant le gestionnaire de packages NuGet, suivez ces étapes :

  1. Ouvrez Visual Studio, et dans l'explorateur de solutions, cliquez avec le bouton droit sur votre projet.
  2. Choisissez "Gérer les packages NuGet..." dans le menu contextuel.
  3. Accédez à l'onglet Parcourir et recherchez IronPDF.
  4. Sélectionnez la bibliothèque IronPDF dans les résultats de recherche et cliquez sur le bouton d'installation.
  5. Acceptez tout accord de licence s'il y en a.

Si vous souhaitez inclure IronPDF dans votre projet via la console du gestionnaire de packages, alors exécutez la commande suivante dans la console du gestionnaire de packages :

PM > Install-Package IronPdf

Cela récupérera et installera IronPDF dans votre projet.

Installer en utilisant le site NuGet

Pour une vue d'ensemble détaillée d'IronPDF, y compris ses fonctionnalités, compatibilités, et autres options de téléchargement, visitez la page IronPDF sur le site NuGet à https://www.nuget.org/packages/IronPdf.

Installer via DLL

Alternativement, vous pouvez intégrer directement IronPDF dans votre projet en utilisant son fichier DLL. Téléchargez le fichier ZIP contenant le DLL depuis IronPDF Downloads. Décompressez-le et incluez le DLL dans votre projet.

Nous allons maintenant obtenir tous les utilisateurs et générer un rapport PDF en utilisant une chaîne HTML et le générateur IronPDF.

using System.Text.Json;
using System.Text.Json.Serialization;
using RestSharp;
using IronPdf;

namespace rest_sharp_demo
{
    class Program
    {
        static void Main()
        {
            // Create a RestClient
            var baseUrl = "https://jsonplaceholder.typicode.com/users";
            RestClientOptions options = new RestClientOptions(baseUrl) { UseDefaultCredentials = true };
            var client = new RestClient(options);
            
            // Create a RestRequest for the GET method
            var request = new RestRequest();
            
            // Execute the request and get the response
            var response = client.Get(request);
            
            // Check if the request was successful
            if (response.IsSuccessful)
            {
                // Deserialize JSON response into a list of User objects
                var users = JsonSerializer.Deserialize<List<User>>(response.Content);
                
                // Generate PDF
                var html = GetHtml(users);
                var renderer = new ChromePdfRenderer();
                var pdf = renderer.RenderHtmlAsPdf(html);
                pdf.SaveAs("UsersReport.pdf");
            }
            else
            {
                // Handle the error
                Console.WriteLine($"Error: {response.ErrorMessage}");
            }
        }

        // Method to generate HTML from user data
        private static string GetHtml(List<User>? users)
        {
            string header = @"
<html>
<head><title>Users List</title></head>
<body>
";
            var footer = @"
</body>
</html>";
            var htmlContent = header;
            foreach (var user in users)
            {
                htmlContent += $@"
    <h1>{user.Name}</h1>
    <p>Username: {user.Username}</p>
    <p>Email: {user.Email}</p>
    <p>Company: {user.Company}</p>
    <p>Phone: {user.Phone}</p>
    <p>Website: {user.Website}</p>
    <p>Suite: {user.Address.Suite}</p>
    <p>Street: {user.Address.Street}</p>
    <p>City: {user.Address.City}</p>
    <p>Zipcode: {user.Address.Zipcode}</p>
";
            }
            htmlContent += footer;
            return htmlContent;
        }
    }
}

L'ensemble du code peut être trouvé dans Git à ce lien.

Ici, nous générons d'abord une chaîne HTML à partir de la liste des utilisateurs avec tout le formatage requis pour les rapports. Ensuite, nous utilisons IronPDF pour générer un document PDF. Nous utilisons la méthode RenderHtmlAsPdf pour convertir la chaîne HTML en document PDF. Le document généré est le suivant :

RestSharp C# (Comment cela fonctionne pour le développeur) : Figure 4 - PDF de sortie

Le document a un petit filigrane pour les licences d'essai, qui peut être supprimé avec une licence valide.

Licence (Essai Gratuit Disponible)

Pour que le code ci-dessus fonctionne, une clé de licence est requise. Cette clé doit être placée dans appsettings.json comme suit :

{
    "IronPdf.LicenseKey": "your license key"
}
JSON

Une licence d'essai est disponible pour les développeurs après inscription, et aucune carte de crédit n'est requise pour une licence d'essai. On peut fournir son identifiant email et s'inscrire pour un essai gratuit.

Conclusion

La bibliothèque RestSharp simplifie le processus de travail avec les APIs RESTful en C#, fournissant une manière propre et efficace de faire des requêtes HTTP et de gérer les réponses. Que vous récupériez des données avec des requêtes GET ou que vous envoyiez des données avec des requêtes POST, l'API intuitive de RestSharp et ses fonctionnalités pratiques en font un outil précieux pour les développeurs créant des applications interagissant avec les services Web.

IronPDF offre une solution flexible et facile à utiliser pour générer des PDF. Pour plus d'informations sur les diverses fonctionnalités d'IronPDF, veuillez visiter la page de documentation d'IronPDF.

Les licences perpétuelles d'IronPDF vous aideront à améliorer vos compétences en programmation et à répondre aux exigences des applications modernes.

Connaître à la fois RestSharp et IronPDF apporte de grandes compétences, permettant aux développeurs de créer des applications modernes.

Jacob Mellor, Directeur technique @ Team Iron
Directeur technique

Jacob Mellor est directeur de la technologie chez Iron Software et un ingénieur visionnaire pionnier de la technologie C# PDF. En tant que développeur à l'origine de la base de code centrale d'Iron Software, il a façonné l'architecture des produits de l'entreprise depuis sa création, la transformant aux côtés du PDG Cameron Rimington en une entreprise de plus de 50 personnes au service de la NASA, de Tesla et d'agences gouvernementales mondiales.

...
Lire la suite

Articles connexes

Key in blue circle

Obtenez votre clé d'essai de 30 jours instantanément.

Your trial license will be sent to your email address

Aucune restriction. 100 % débloqué. Pas de carte bancaire.

OR
bullet_checkedAucune carte de crédit ou création de compte requiseAucune restriction. 100 % débloqué. Pas de carte bancaire.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Réservez votre Démonstration en direct gratuite
Booking Badge

De confiance par des millions d'ingénieurs dans le monde entier

Logos des clients d'Iron Software
Obtenez Votre Consultation sans Engagement
Remplissez le formulaire ci-dessous ou envoyez un email à sales@ironsoftware.com
Vos informations seront toujours gardées confidentielles.
De confiance par des millions d'ingénieurs dans le monde entier
Logos des clients d'Iron Software
Obtenez votre clé d'essai 30 jours gratuitement.
Aucune carte de crédit ou création de compte requise
Bibliothèque C# NuGet pour PDF
Installer avec NuGet

Version : 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Dans l'explorateur de solutions, faites un clic droit sur Références, Gestion des packages NuGet
  2. Sélectionnez Parcourir et recherchez « IronPDF »
  3. Sélectionnez le package et installez
C# PDF DLL
Télécharger DLL

Version : 2026.9

ou téléchargez l'installateur Windows ici.

  1. Téléchargez et décompressez IronPDF à un emplacement tel que ~/Libs dans votre répertoire de solution
  2. Dans l'explorateur de solutions Visual Studio, faites un clic droit sur Références. Sélectionnez Parcourir, « IronPDF.dll »

Licences à partir de 749 $