.NET-HILFE

Refit C# (Wie es für Entwickler funktioniert)

Veröffentlicht 13. August 2024
Teilen Sie:

Einführung

Die besten Eigenschaften zweier leistungsfähiger Bibliotheken werden kombiniert, um unglaublich effektive Anwendungen zu erstellen, indem Folgendes integriert wird Rücktritt mit IronPDF in C#. Refit erleichtert die Verwendung von RESTful-APIs, indem es Entwicklern ermöglicht, API-Schnittstellen mit C#-Merkmalen zu entwerfen und HTTP anfragen automatisch und garantiert einen typsicheren API-Zugang. Umgekehrt bietet IronPDF eine Vielzahl leistungsstarker Funktionen für die Arbeit mit PDF-Dateien, einschließlich der Zusammenführung und Kommentierung von PDFs sowie der Konvertierung von HTML-Inhalten. Diese Bibliotheken sorgen in Kombination für reibungslose Arbeitsabläufe bei der Darstellung und Abfrage von Daten. Die datengesteuerte Anwendungsentwicklung kann durch den Einsatz von Werkzeugen wie Refit zum Abrufen von Daten aus einer API und IronPDF zur Erstellung gründlicher, hervorragender PDF-Berichte auf der Grundlage dieser Daten effizienter und produktiver gestaltet werden.

Was ist Refit C#?

Rücktritt ist ein Open-Source-Framework für .NET, das eine deklarative, typsichere Methodik verwendet, um den Prozess des Sendens von HTTP-Anfragen an RESTful-APIs zu vereinfachen. Refit erzeugt den erforderlichen HTTP-Client-Code automatisch, indem es API-Endpunkte als C#-Schnittstellen spezifiziert und mit Merkmalen ausstattet. Dies reduziert die Anzahl der Textbausteine erheblich und verbessert die Lesbarkeit des Codes. Durch die Erkennung von Fehlern während der Kompilierung und nicht während der Ausführung garantiert diese Technik, dass die Methodensignaturen korrekt mit den API-Endpunkten übereinstimmen.

Darüber hinaus beherrscht Refit die JSON-Serialisierung und -Deserialisierung mit Leichtigkeit und ermöglicht es Entwicklern, mit C#-Objekten zu interagieren, anstatt API-Antworten manuell zu konvertieren. Durch die Definition von HTTP-Methoden, Headern und Parametern direkt in den Schnittstellenspezifikationen wird die Konfiguration durch Attribute vereinfacht. Da der Client-Code weniger geändert werden muss, wenn API-Endpunkte aktualisiert werden, wird der Code einfacher und leichter zu pflegen.

So kann Refit beispielsweise den erforderlichen HTTP-GET-Anfrage-String "Benutzername" generieren, indem es eine Methode in einer Schnittstelle mit einer [Siehe("/benutzer/{id}")] attribut. Diese Anfrage kann dann über einen typsicheren Methodenaufruf erfolgen. Refit ist eine rundum produktivere Lösung für Entwickler zur Integration von APIs in .NET-Anwendungen, indem es die mit der Verwaltung von HTTP-Clients verbundenen Kopfschmerzen beseitigt.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 1 - Refit: Die automatische typsichere REST-Bibliothek für .NET Core, Xamarin und .NET

Merkmale von Refit C#

Typsichere API-Verfügbarkeit

Refit erkennt Fehler bei der Kompilierung und sorgt dafür, dass die Methodensignaturen mit den API-Endpunkten übereinstimmen. Die Möglichkeit von Laufzeitfehlern, die durch nicht übereinstimmende Endpunkte oder unsachgemäße Anfrageeinstellungen verursacht werden, wird durch diese Typsicherheit verringert.

HTTP-Client deklarativ

C#-Schnittstellen und -Attribute können von Entwicklern zur Erstellung von API-Endpunkten verwendet werden, was zu einem saubereren, besser wartbaren HTTP-Anforderungscode führt. Diese deklarative Methode abstrahiert von der komplizierten Implementierung einer HTTP-Anforderungsmethode pro Client.

Automatische Serialisierung und Deserialisierung

Refit kümmert sich automatisch um die Umwandlung von C#-Objekten in JSON-Daten. Da die Entwickler die Anforderungsdaten nicht mehr manuell serialisieren oder die Antworten deserialisieren müssen, ist die Datenverarbeitung viel einfacher.

Konfiguration anhand von Attributen

Attribute werden zur Definition von HTTP-Methoden verwendet (wie GET, POST, PUT und DELETE) und Parameter. Dies macht die Konfiguration einfach und leicht verständlich, da sie Header, Request Body, Inhalt, Pfadparameter und Abfrageparameter umfasst.

Unterstützung asynchroner Programmierung

Refit verwendet Task-basierte Methoden, um asynchrone HTTP-Anfragen zu verarbeiten, und ist für die einfache Interaktion mit asynchronen Programmiermodellen in .NET konzipiert.

Anpassungsfähige Webbrowser

Der HTTP-Kernclient kann von Entwicklern angepasst werden, indem Timeout-Zahlen, Standard-Header-Einstellungen und Message-Handler-Konfigurationen für Protokollierung, Authentifizierung und Wiederholungsrichtlinien geändert werden.

Integriertes Fehlermanagement

Refit verfügt über integrierte Funktionen zur Behandlung von HTTP-Problemen, die es Entwicklern leicht machen, ihre eigene Fehlerbehandlungslogik einzubauen.

Anpassungsfähigkeit

Mit der Unterstützung von Refit für benutzerdefinierte Serialisierungs- und Deserialisierungskonverter können Entwickler mehrere Formate verwenden oder ungewöhnliche Datentypen verarbeiten.

Kombinierte Integration durch Dependency Injection

Refit eignet sich hervorragend für moderne .NET-Anwendungen, die die empfohlenen Praktiken für die Injektion von Abhängigkeiten einhalten (DI) da es einfach in DI-Anwendungen zu integrieren ist.

Unterstützung bei der Verifizierung

Um API-Aufrufe zu sichern, lassen sich mit Refit ganz einfach Authentifizierungs-Header, Schnittstellenmethoden wie Bearer-Tokens und Basis-Authentifizierung konfigurieren.

Erstellen und Konfigurieren von Refit C#

Mit den folgenden Schritten können Sie einen Refit-Client in C# erstellen und einrichten:

Erstellen Sie ein neues Visual Studio-Projekt

Die Erstellung eines Konsolenprojekts ist mit Visual Studio einfach. Um eine Konsolenanwendung in Visual Studio zu erstellen, gehen Sie folgendermaßen vor:

Vor der Verwendung Visual Studiostellen Sie sicher, dass es auf Ihrem Computer installiert ist.

Ein neues Projekt starten

Öffnen Sie Visual Studio und klicken Sie auf die Option "Ein neues Projekt erstellen".

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 2 - Klicken Sie in Visual Studio auf die Option "Neues Projekt erstellen" und wählen Sie Console App.

Wählen Sie aus der Auswahl auf der linken Seite des Feldes "Ein neues Projekt erstellen" Ihre bevorzugte Programmiersprache aus (C#, zum Beispiel).

Aus der folgenden Projektvorlagen-Referenzliste können Sie die "Console App" oder "Console App" auswählen (.NET Core)vorlage".

Geben Sie Ihrem Projekt einen Namen, und wählen Sie den Speicherort des Projekts.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 3 - Konfigurieren Sie Ihre Konsolenanwendung durch Angabe von Projektname, Standort und Lösungsname. Klicken Sie dann auf Weiter.

Wählen Sie das entsprechende .NET-Framework aus. Klicken Sie dann auf "Erstellen", um das Projekt für die Konsolenanwendung zu erstellen.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 4 - Wählen Sie das .NET-Framework und klicken Sie dann auf "Erstellen". Ihr Console App-Projekt wird erfolgreich erstellt.

Installieren Nachrüsten

Die Refit-Bibliothek muss zunächst in Ihr Projekt aufgenommen werden. Sie können das Refit NuGet-Paket mit dem NuGet-Paketmanager installieren oder die .NET CLI in Visual Studio verwenden, um dies zu erreichen.

Verwendung der .NET CLI für die Installation:

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

API-Schnittstelle definieren

Erstellen Sie eine Schnittstelle, um Ihre API zu symbolisieren. Um die HTTP-Methoden und Endpunkte zu definieren, verwenden Sie die Refit-Attribute.

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#

Erstellen und Konfigurieren des Refit Clients

Starten Sie den Refit-Client und passen Sie die Einstellungen nach Bedarf an. Dies kann direkt in Ihrem Hauptcode oder in einem Dienst und an anderen Stellen in Ihrer Anwendung implementiert werden.

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#

Erweiterte Konfiguration

Durch die Einstellung des zugrunde liegenden HttpClient können Sie den Refit-Client weiter personalisieren. So können Sie beispielsweise Zeitüberschreitungen festlegen, Kopfzeilenattribute anwenden, Standardkopfzeilen hinzufügen oder Nachrichtenhandler für Wiederholungsrichtlinien, Authentifizierung und Protokollierung verwenden.

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#

Sie können die typsichere und wartbare RESTful-API-Nutzung nutzen, indem Sie einen Refit-Client in C# erstellen und konfigurieren, indem Sie diese Anweisungen befolgen.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 5 - Konsolenausgabe

Erste Schritte

Die Installation beider Bibliotheken, die Konfiguration eines einfachen API-Clients, der Refit zum Abrufen von Daten verwendet, und die Verwendung von IronPDF zur Erstellung einer PDF-Datei auf der Grundlage dieser Daten sind die ersten Schritte zur Integration von Refit und IronPDF in ein C#-Projekt. Hier sind die Schritte, um dies zu erreichen:

Was ist IronPDF?

Eine funktionsreiche Bibliothek für den Umgang mit PDF-Dokumenten in .NET-Anwendungen ist die IronPDF. Mit seinem umfangreichen Funktionsumfang können Anwender PDFs von Grund auf oder aus HTML-Material erstellen sowie bereits vorhandene PDF-Dokumente durch Hinzufügen, Löschen oder Ändern von Teilen verändern. IronPDF bietet Entwicklern eine robuste API zum Erstellen, Ändern und Konvertieren von PDF-Dateien und erleichtert so die Arbeit mit PDFs in .NET-Anwendungen.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 6 - IronPDF for .NET: Die C# PDF-Bibliothek

Hauptmerkmale von IronPDF

Konvertierung von HTML in PDF

Mit IronPDF können Sie hochwertige PDF-Dokumente mit HTML-Inhalten, einschließlich CSS und JavaScript, erstellen. Diese Funktion ist sehr hilfreich bei der Erstellung von PDFs aus dynamischen Inhalten oder Webseiten.

Bearbeitung und Manipulation von PDFs

IronPDF bietet Änderungswerkzeuge für bereits vorhandene PDF-Dokumente. Es ist möglich, Seiten aus einem PDF zu extrahieren, Text, Fotos, Wasserzeichen oder Notizen hinzuzufügen und mehrere PDFs in einem Dokument zu kombinieren.

Erstellen einer PDF-Datei von Anfang an

Mit der API von IronPDF können Sie programmgesteuert Text, Fotos, Formen und andere Objekte zu neuen PDF-Dokumenten hinzufügen. Dies ermöglicht die dynamische Generierung von PDF-Rechnungen, Berichten und anderen dokumentenbasierten Ausgaben.

Sicherheit von PDFs

Sie können den Zugriff verwalten und wichtige Daten schützen, indem Sie PDF-Dokumente mit IronPDF verschlüsseln und mit einem Passwort schützen.

Formulare im PDF-Format

Durch die Eingabe von Daten in Formularfelder können Benutzer mit PDF-Dokumenten interagieren, indem sie mit IronPDF PDF-Formulare erstellen und ausfüllen.

Text-Extraktionen

IronPDF erleichtert die einfache Suche, Analyse und Manipulation von Textdaten durch Extraktion von Textinhalten aus PDF-Dokumenten.

Umwandlung in Bildformate

IronPDF eignet sich für Situationen, in denen Bilder anstelle von PDFs benötigt werden, da es PDF-Dokumente in gängige Bildformate wie PNG, JPEG und BMP konvertieren kann.

IronPDF installieren

Verwenden Sie die .NET CLI oder den NuGet Package Manager zum Hinzufügen von IronPDF zu Ihren .NET-Projekten.

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

IronPDF mit Refit C&num integrieren;

Sehen wir uns nun ein C#-Codebeispiel an, das Refit mit IronPDF kombiniert. In diesem Beispiel verwenden wir Refit, um Daten von einer fiktiven RESTful-API abzurufen, und IronPDF, um auf der Grundlage dieser Daten ein PDF-Dokument zu erstellen. Dies ist die Funktion des folgenden Codes:

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#

Mithilfe der Refit-Merkmale konstruieren wir eine API-Schnittstelle namens IMyApi und stellen den Endpunkt für den Abruf von Benutzerdaten bereit. Wir erstellen einen Refit-Client für die API und rufen die Benutzerdaten asynchron in der Main-Funktion ab. Wenn die Daten erfolgreich abgerufen wurden, wird das Benutzerobjekt an die Methode GeneratePdf übergeben. Mit der Klasse ChromePdfRenderer von IronPDF erstellen wir HTML text, der die Benutzerdaten in der GeneratePdf-Methode darstellt, und geben ihn dann als PDF-Dokument aus. Danach wird das erstellte PDF in einer Datei auf der Festplatte gespeichert.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 7 - Konsolenausgabe

Nachfolgend sehen Sie einen Screenshot der generierten PDF-Datei.

C# umrüsten (Wie es für Entwickler funktioniert): Abbildung 8 - Mit IronPDF erzeugte PDF-Ausgabe

Schlussfolgerung

Zusammenfassend lässt sich sagen, dass Entwickler, die mit RESTful-APIs und PDF-Produktion arbeiten, eine starke und effektive Lösung in Form von Rücktrittdie Integration mit IronPDF in C#. Die Refit-Schnittstelle reduziert den Boilerplate-Code, verbessert die Wartbarkeit und bietet einen typsicheren, deklarativen Ansatz, der die Nutzung von APIs erleichtert. IronPDF bietet jedoch eine umfangreiche Sammlung von Werkzeugen für die Erstellung, Änderung und Bearbeitung von PDF-Dokumenten, die es einfach machen, hochwertige PDFs aus HTML-Text zu erstellen.

Entwickler können Daten von APIs leicht abrufen mit Rücktritt und erstellen Sie dynamische PDF-Dokumente mit IronPDF auf der Grundlage dieser Daten durch die Integration der beiden Tools. Die Arbeitsabläufe werden durch diese Integration gestrafft, die auch eine Fülle von Möglichkeiten zur Erstellung dynamischer, datengesteuerter PDF-Berichte, Rechnungen und anderer dokumentenbasierter Ausgaben bietet.

Sie können integrieren IronPDF und andere IronSoftware technologien in die Entwicklung von Unternehmensanwendungen zu integrieren, um funktionsreiche, hochwertige Softwarelösungen für Kunden und Endbenutzer bereitzustellen. Diese solide Basis wird auch Projekte, Backend-Systeme und Prozessverbesserungen erleichtern.

Die Entwickler können das Beste aus den kostenlose Testversion der Preis für IronPDF beträgt 749 $. Diese Technologien sind eine hervorragende Option für moderne Softwareentwicklungsprojekte, da sie über eine umfangreiche Dokumentation, eine aktive Online-Entwicklergemeinschaft und regelmäßige Updates verfügen.

Wenn Sie mehr darüber erfahren möchten, wie Sie mit IronPDFbesuchen Sie bitte die code-Beispiele und dokumentation seite.

< PREVIOUS
CSLA .NET (Wie es für Entwickler funktioniert)
NÄCHSTES >
NBuilder .NET (Wie es für Entwickler funktioniert)

Sind Sie bereit, loszulegen? Version: 2024.10 gerade veröffentlicht

Gratis NuGet-Download Downloads insgesamt: 11,308,499 Lizenzen anzeigen >