AIDE .NET

Refit C# (Comment ça marche pour les développeurs)

Publié août 13, 2024
Partager:

Introduction

Les meilleures caractéristiques de deux bibliothèques puissantes sont combinées pour produire des applications incroyablement efficaces en intégrant les éléments suivantsRefit avecIronPDF en C#. Refit facilite l'utilisation des API RESTful en permettant aux développeurs de concevoir des interfaces API avec des caractéristiques C#, en générant desHTTP automatiquement, et garantissant un accès à l'API sans risque pour les types. À l'inverse, IronPDF offre un large éventail de fonctionnalités puissantes pour travailler avec des fichiers PDF, notamment la fusion et l'annotation de PDF ainsi que la conversion de contenu HTML. Ces bibliothèques permettent, lorsqu'elles sont combinées, des flux de travail fluides pour la présentation et l'extraction des données. Le développement d'applications axées sur les données peut être rendu plus efficace et productif en utilisant des outils tels que Refit pour récupérer des données à partir d'une API et IronPDF pour produire d'excellents rapports PDF approfondis à partir de ces données.

Qu'est-ce que Refit C# ?

Refit est un Framework .NET open-source qui utilise une méthodologie déclarative et sécurisée pour simplifier le processus d'envoi de requêtes HTTP aux API RESTful. Refit produit automatiquement le code client HTTP requis en spécifiant les points de terminaison de l'API sous forme d'interfaces C# agrémentées de caractéristiques. Cela permet de réduire considérablement le nombre d'éléments superflus et d'améliorer la lisibilité du code. En détectant les erreurs lors de la compilation plutôt que lors de l'exécution, cette technique garantit que les signatures des méthodes correspondent correctement aux points de terminaison de l'API.

En outre, Refit gère facilement la sérialisation et la désérialisation JSON, ce qui permet aux développeurs d'interagir avec des objets C# au lieu de convertir manuellement les réponses de l'API. En définissant les méthodes HTTP, les en-têtes et les paramètres directement dans les spécifications de l'interface, les attributs simplifient la configuration. Comme le code du client doit être moins modifié lorsque les points d'extrémité de l'API sont mis à jour, le code devient plus simple et plus facile à maintenir.

Par exemple, Refit peut générer la chaîne de caractères de la requête HTTP GET nom de l'utilisateur en créant une méthode dans une interface avec un paramètre[Obtenir("/users/{id}")] attribut. Cette demande peut alors être faite par le biais d'un appel de méthode à sécurité intrinsèque. Refit est une solution globalement plus productive pour les développeurs qui souhaitent intégrer des API dans des applications .NET en faisant abstraction des problèmes liés à la gestion des clients HTTP.

Refit C#(Comment ça marche pour les développeurs) : Figure 1 - Refit : la bibliothèque REST à sécurité de type automatique pour .NET Core, Xamarin et .NET

Caractéristiques de Refit C

Disponibilité de l'API à sécurité de type

Refit détecte les erreurs au moment de la compilation et s'assure que les signatures des méthodes correspondent aux points de terminaison de l'API. Cette sécurité de type réduit le risque d'erreurs d'exécution dues à une mauvaise correspondance des points d'extrémité ou à une mauvaise configuration des demandes.

Client HTTP déclaratif

Les interfaces et attributs C# peuvent être utilisés par les développeurs pour créer des points d'extrémité d'API, ce qui permet d'obtenir un code de requête HTTP plus propre et plus facile à maintenir. Cette méthode déclarative fait abstraction de la complexité de la mise en œuvre d'une méthode de requête HTTP par client.

Sérialisation et désérialisation automatiques

Refit se charge automatiquement de la conversion des objets C# en données JSON. Comme les développeurs n'ont plus à sérialiser manuellement les corps des requêtes ou à désérialiser les réponses, la manipulation des données est beaucoup plus simple.

Configuration basée sur les attributs

Les attributs sont utilisés pour définir les méthodes HTTP(tels que GET, POST, PUT et DELETE) et des paramètres. La configuration est donc simple et facile à comprendre, car elle comprend les en-têtes, le corps de la requête, le contenu, les paramètres du chemin et les paramètres de la requête.

Soutien à la programmation asynchrone

Refit utilise des méthodes basées sur les tâches pour gérer les requêtes HTTP asynchrones et est conçu pour interagir facilement avec les modèles de programmation asynchrones dans .NET.

Navigateurs web adaptables

Le client HTTP de base peut être personnalisé par les développeurs en modifiant les délais d'attente, les paramètres des en-têtes par défaut et les configurations des gestionnaires de messages pour la journalisation, l'authentification et les politiques de relance.

Gestion intégrée des erreurs

Refit dispose de capacités intégrées pour gérer les problèmes HTTP, ce qui permet aux développeurs d'incorporer facilement leur propre logique de traitement des erreurs.

Adaptabilité

Les développeurs peuvent utiliser plusieurs formats ou gérer des types de données inhabituels grâce à la prise en charge par Refit de convertisseurs de sérialisation et de désérialisation personnalisés.

Combinaison de l'injection de dépendances et de l'intégration

Refit convient parfaitement aux applications .NET contemporaines qui respectent les pratiques recommandées en matière d'injection de dépendances(DI) car il est facile à intégrer dans les applications DI.

Aide à la vérification

Pour sécuriser les appels d'API, Refit simplifie la configuration des en-têtes d'authentification, des méthodes d'interface telles que les jetons de support et l'authentification de base.

Créer et configurer Refit C

Les étapes ci-dessous peuvent être utilisées pour construire et configurer un client Refit en C# :

Créer un nouveau projet Visual Studio

Il est facile de créer un projet Console à l'aide de Visual Studio. Pour créer une application console dans Visual Studio, procédez comme suit :

Avant d'utiliserVisual Studio, confirmez qu'il est installé sur votre ordinateur.

Démarrer un nouveau projet

Ouvrez Visual Studio, cliquez sur l'option "Créer un nouveau projet".

Refonte de C# (Comment ça marche pour les développeurs) : Figure 2 - Dans Visual Studio, cliquez sur l'option Créer un nouveau projet et sélectionnez Console App.

Dans la sélection située à gauche de la boîte "Créer un nouveau projet", sélectionnez votre langage de programmation préféré(C#, par exemple).

Dans la liste de référence des modèles de projet suivants, vous pouvez choisir l'"application console" ou l'"application console"(.NET Core)".

Donnez un nom à votre projet et choisissez son emplacement de stockage.

Refit C#(Comment cela fonctionne-t-il pour les développeurs ?): Figure 3 - Configurez votre application console en spécifiant le nom du projet, l'emplacement et le nom de la solution. Cliquez ensuite sur Suivant.

Sélectionnez le Framework .NET approprié. Cliquez ensuite sur "Create" pour créer le projet d'application Console.

Refit C#(Comment cela fonctionne-t-il pour les développeurs ?): Figure 4 - Sélectionnez le Framework .NET, puis cliquez sur "Create" ;. Votre projet Console App sera créé avec succès.

Installer Réaménager

La bibliothèque Refit doit d'abord être incluse dans votre projet. Vous pouvez installer le package NuGet Refit à l'aide du gestionnaire de packages NuGet ou utiliser l'interface CLI .NET dans Visual Studio.

Utilisation de l'interface de programmation .NET pour l'installation :

dotnet add package Refit
dotnet add package Refit
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Définir l'interface API

Créez une interface pour symboliser votre API. Pour définir les méthodes HTTP et les points de terminaison, utilisez les attributs Refit.

using Refit;
using System.Threading.Tasks;
public interface IMyApi
{
    [Get("/users/{id}")]
    Task<User> GetUserAsync(int id);
    [Post("/users")]
    Task<User> CreateUserAsync([Body] User user);
}
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    // Other properties...
}
using Refit;
using System.Threading.Tasks;
public interface IMyApi
{
    [Get("/users/{id}")]
    Task<User> GetUserAsync(int id);
    [Post("/users")]
    Task<User> CreateUserAsync([Body] User user);
}
public class User
{
    public int Id { get; set; }
    public string Name { get; set; }
    // Other properties...
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Créer et configurer le client Refit

Lancez le client Refit et ajustez ses paramètres si nécessaire. Cela peut être mis en œuvre directement dans votre code principal ou dans un service, entre autres endroits de votre application.

using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        // Define the base URL of your API
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        // Define the base URL of your API
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Configuration avancée

En définissant le client HttpClient sous-jacent, vous pouvez personnaliser davantage le client Refit. À titre d'exemple, vous pouvez définir des délais d'attente, appliquer des attributs d'en-tête, ajouter des en-têtes par défaut ou utiliser des gestionnaires de messages pour les politiques de relance, l'authentification et la journalisation.

using System.Net.Http;
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        var httpClient = new HttpClient(new HttpClientHandler
        {
            // Customize the HttpClientHandler as needed
        })
        {
            BaseAddress = new Uri("https://api.example.com"),
            Timeout = TimeSpan.FromSeconds(30)
        };
        // Add default headers if needed
        httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_TOKEN_HERE");
        var apiClient = RestService.For<IMyApi>(httpClient);
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
using System.Net.Http;
using Refit;
using System;
using System.Threading.Tasks;
public class Program
{
    public static async Task Main(string[] args)
    {
        var httpClient = new HttpClient(new HttpClientHandler
        {
            // Customize the HttpClientHandler as needed
        })
        {
            BaseAddress = new Uri("https://api.example.com"),
            Timeout = TimeSpan.FromSeconds(30)
        };
        // Add default headers if needed
        httpClient.DefaultRequestHeaders.Add("Authorization", "Bearer YOUR_TOKEN_HERE");
        var apiClient = RestService.For<IMyApi>(httpClient);
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        // Create a new user
        var newUser = new User { Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
    }
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

Vous pouvez utiliser une consommation d'API RESTful sécurisée et maintenable en créant et en configurant un client Refit en C# en suivant ces instructions.

Refit C#(Comment ça marche pour les développeurs) : Figure 5 - Sortie de la console

Pour commencer

L'installation des deux bibliothèques, la configuration d'un client API simple utilisant Refit pour récupérer des données et IronPDF pour créer un PDF à partir de ces données sont les premières étapes de l'intégration de Refit et IronPDF dans un projet C#. Voici les étapes à suivre pour y parvenir :

Qu'est-ce qu'IronPDF ?

Une bibliothèque riche en fonctionnalités permettant de gérer les documents PDF dans les applications .NET s'appelleIronPDF. Grâce à ses nombreuses fonctionnalités, les utilisateurs peuvent créer des PDF à partir de zéro ou à partir de matériel HTML, ainsi que modifier des documents PDF préexistants en ajoutant, supprimant ou modifiant des parties. IronPDF offre aux développeurs une API robuste pour la création, la modification et la conversion de fichiers PDF, facilitant ainsi l'utilisation des PDF dans les applications .NET.

Refit C#(Comment ça marche pour les développeurs) : Figure 6 - IronPDF for .NET : La bibliothèque PDF C#

Principales caractéristiques d'IronPDF

Conversion de HTML en PDF

IronPDF vous permet de créer des documents PDF de haute qualité en utilisant du contenu HTML, y compris CSS et JavaScript. Cette fonctionnalité est très utile pour créer des PDF à partir de contenu dynamique ou de pages web.

Édition et manipulation des PDF

IronPDF propose des outils de modification de documents PDF déjà existants. Il est possible d'extraire des pages d'un PDF, d'ajouter du texte, des photos, des filigranes ou des notes, et de combiner plusieurs PDF en un seul document.

Création d'un PDF à partir du début

Grâce à l'API d'IronPDF, vous pouvez ajouter du texte, des photos, des formes et d'autres objets à de nouveaux documents PDF de manière programmatique. Il est ainsi possible de générer dynamiquement des factures, des rapports et d'autres documents au format PDF.

Sécurité des PDF

Vous pouvez gérer l'accès et protéger les données critiques en chiffrant les documents PDF à l'aide d'IronPDF et en ajoutant une sécurité par mot de passe.

Formulaires en PDF

En plaçant des données dans des champs de formulaire, les utilisateurs peuvent interagir avec des documents PDF en créant et en remplissant des formulaires PDF avec IronPDF.

Extractions de texte

IronPDF facilite la recherche, l'analyse et la manipulation des données textuelles en extrayant le contenu textuel des documents PDF.

Transformation en formats d'images

IronPDF convient aux situations où l'on a besoin d'images au lieu de PDF, car il peut convertir des documents PDF en formats d'image courants, notamment PNG, JPEG et BMP.

Installer IronPDF

Utilisez l'interface de programmation .NET ou le gestionnaire de paquets NuGet pour ajouter les éléments suivantsIronPDF à vos projets .NET.

dotnet add package IronPdf
dotnet add package IronPdf
'INSTANT VB TODO TASK: The following line uses invalid syntax:
'dotnet add package IronPdf
VB   C#

Intégrer IronPDF avec C

Décortiquons un exemple de code C# qui combine Refit et IronPDF. Dans cet exemple, nous utiliserons Refit pour récupérer des données à partir d'une API RESTful fictive et utiliserons IronPDF pour créer un document PDF basé sur ces données. C'est le fonctionnement du code suivant :

using System;
using IronPdf;
using Refit;
    public static async Task Main(string[] args)
    {
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        try
        {
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        GeneratePdf(user);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        var rand = new Random(100);
        // Create a new user
        var newUser = new User { Id = rand.Next(), Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
//Passing html string as method parameter
public static void GeneratePdf(User user)
{
    var htmlContent = $@"
    <html>
        <head>
            <style>
                body {{ font-family: Arial, sans-serif; }}
                h1 {{ color: navy; }}
                p {{ font-size: 14px; }}
            </style>
        </head>
        <body>
            <h1>User Details</h1>
            <p><strong>ID:</strong> {user.Id}</p>
            <p><strong>Name:</strong> {user.Name}</p>
        </body>
    </html>";
    // Create an IronPDF ChromePdfRenderer instance
    var renderer = new ChromePdfRenderer();
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
    // Save the PDF to a file
    var filePath = "UserDetails.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF generated and saved to {filePath}");
}
using System;
using IronPdf;
using Refit;
    public static async Task Main(string[] args)
    {
        var apiClient = RestService.For<IMyApi>("https://api.example.com");
        try
        {
        // Use the API client to make requests
        var user = await apiClient.GetUserAsync(1);
        GeneratePdf(user);
        Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}");
        var rand = new Random(100);
        // Create a new user
        var newUser = new User { Id = rand.Next(), Name = "John Doe" };
        var createdUser = await apiClient.CreateUserAsync(newUser);
        Console.WriteLine($"Created User ID: {createdUser.Id}, Name: {createdUser.Name}");
        }
        catch (Exception ex)
        {
            Console.WriteLine($"Error: {ex.Message}");
        }
    }
//Passing html string as method parameter
public static void GeneratePdf(User user)
{
    var htmlContent = $@"
    <html>
        <head>
            <style>
                body {{ font-family: Arial, sans-serif; }}
                h1 {{ color: navy; }}
                p {{ font-size: 14px; }}
            </style>
        </head>
        <body>
            <h1>User Details</h1>
            <p><strong>ID:</strong> {user.Id}</p>
            <p><strong>Name:</strong> {user.Name}</p>
        </body>
    </html>";
    // Create an IronPDF ChromePdfRenderer instance
    var renderer = new ChromePdfRenderer();
    var pdfDocument = renderer.RenderHtmlAsPdf(htmlContent);
    // Save the PDF to a file
    var filePath = "UserDetails.pdf";
    pdfDocument.SaveAs(filePath);
    Console.WriteLine($"PDF generated and saved to {filePath}");
}
IRON VB CONVERTER ERROR developers@ironsoftware.com
VB   C#

En utilisant les caractéristiques Refit, nous construisons une interface API appelée IMyApi et fournissons le point final pour la récupération des données utilisateur. Nous créons un client Refit pour l'API et récupérons de manière asynchrone les données de l'utilisateur dans la fonction principale. Si les données sont récupérées avec succès, l'objet utilisateur est transmis à la méthode GeneratePdf. En utilisant la classe ChromePdfRenderer d'IronPDF, nous créonsConversion de contenu HTML en PDF qui représente les coordonnées de l'utilisateur dans la méthode GeneratePdf, puis le restituer sous la forme d'un document PDF. Ensuite, le PDF créé est stocké dans un fichier disque.

Refit C#(Comment ça marche pour les développeurs) : Figure 7 - Sortie de la console

Vous trouverez ci-dessous une capture d'écran du fichier PDF généré.

Refit C#(Comment ça marche pour les développeurs) : Figure 8 - PDF de sortie généré à l'aide d'IronPDF

Conclusion

En résumé, les développeurs qui travaillent avec des API RESTful et la production de PDF disposent d'une solution solide et efficace sous la forme deRefitl'intégration de lIronPDF en C#. L'interface Refit réduit le code standard, améliore la maintenabilité et offre une approche déclarative et sécurisée, ce qui facilite la consommation des API. Cependant, IronPDF fournit une vaste collection d'outils pour produire, modifier et travailler avec des documents PDF, ce qui facilite la création de PDF de haute qualité à partir de texte HTML.

Les développeurs peuvent facilement extraire des données des API grâce à la fonctionRefit et créer des documents PDF dynamiques avecIronPDF sur la base de ces données en intégrant les deux outils. Les flux de travail sont rationalisés grâce à cette intégration, qui offre également de nombreuses possibilités de créer des rapports PDF dynamiques et axés sur les données, des factures et d'autres sorties basées sur des documents.

Vous pouvez intégrerIronPDF et autresTechnologies IronSoftware la traduction doit rester professionnelle, en préservant l'exactitude technique tout en expliquant les caractéristiques et les avantages de ces outils de développement. Cette base solide facilitera également les projets, les systèmes dorsaux et l'amélioration des processus.

Les développeurs peuvent tirer le meilleur parti de laessai gratuit le coût d'IronPDF est de 749 $. Ces technologies constituent une excellente option pour les projets de développement de logiciels modernes en raison de leur documentation complète, de leur communauté active de développeurs en ligne et de leurs mises à jour régulières.

Pour en savoir plus sur la façon de démarrer avecIronPDF, veuillez consulter le siteexemples de code pour HTML vers PDF etune documentation complète page.

< PRÉCÉDENT
AAPC .NET (Comment ça marche pour les développeurs)
SUIVANT >
NBuilder .NET (Comment ça marche pour les développeurs)