IRONSOFTWAREHOME
ENTWICKLER-UPDATES

GraphQL C# (Funktionsweise für Entwickler)

Jacob Mellor, Chief Technology Officer @ Team Iron
Jacob Mellor
Updated: 21. April 2026

GraphQL hat sich als beliebte Alternative zu RESTful-APIs für den Aufbau flexibler und effizienter Webdienste etabliert. GraphQL ist in vielen verschiedenen Sprachen verfügbar, wie z.B. Java, Python, ASP .NET Core. Aber in diesem Artikel werden wir die Verwendung von GraphQL im Kontext von C# eingehend untersuchen, indem wir dessen Konzepte, Implementierung und Nutzung mit praktischen Beispielen erkunden. Außerdem werden wir IronPDF für C# verwenden, um PDF-Dateien mit Hilfe der GraphQL-Schema-Definition-Abfrageklasse zu erstellen.

Was ist GraphQL?

GraphQL ist eine Abfragesprache für APIs, die es den Clients ermöglicht, genau die Daten anzufordern, die sie benötigen. Im Gegensatz zu RESTful-APIs, bei denen mehrere Endpunkte feste Datenstrukturen zurückgeben könnten, erlauben es GraphQL-Dienste den Clients, die Form der benötigten Daten anzugeben, was sie effizienter und flexibler macht.

Setting up GraphQL in C#

Um GraphQL in einem C#-Projekt zu verwenden, benötigen Sie die HotChocolate-Bibliothek, eine beliebte GraphQL-Endpunkt-Server-Implementierung for .NET.

Zuerst installieren Sie das Hot Chocolate NuGet-Paket:

PM > Install-Package HotChocolate.AspNetCore

Erstellen eines GraphQL-Schemas

Ein GraphQL-Schema definiert die Datentypen und Operationen, die in Ihrer API verfügbar sind. Hier ist ein einfaches Beispiel für eine schema-basierte Implementierung einer Blog-Anwendung:

using HotChocolate.Types;

public class QueryType : ObjectType
{
    protected override void Configure(IObjectTypeDescriptor descriptor)
    {
        descriptor.Field("helloWorld")
            .Type<StringType>()
            .Resolve(context => "Hello, GraphQL!");
    }
}

In diesem Beispiel definieren wir ein helloWorld Feld, das eine Zeichenfolge "Hello, GraphQL!" zurückgibt, wenn danach abgefragt wird.

Erstellen eines GraphQL-Servers

Als Nächstes richten Sie einen GraphQL-Server mit ASP.NET Core ein:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddGraphQLServer()
            .AddQueryType<QueryType>();
    }

    public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
    {
        app.UseRouting();
        app.UseEndpoints(endpoints =>
        {
            endpoints.MapGraphQL();
        });
    }
}

Querying GraphQL from C#

Jetzt sehen wir, wie Sie diese GraphQL-API von einem C#-Client mit dem GraphQL.Client NuGet-Paket abfragen können:

using GraphQL.Client.Http;
using GraphQL.Client.Serializer.Newtonsoft;
using System;
using System.Threading.Tasks;

// GraphQL query class to interact with the API
public class Query
{
    public static async Task Main()
    {
        // Set up the GraphQL client
        using var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
        {
            EndPoint = new Uri("http://localhost:5000/graphql") // GraphQL endpoint
        }, new NewtonsoftJsonSerializer());

        // Define the GraphQL query
        var request = new GraphQLRequest
        {
            Query = @"
                {
                    helloWorld
                }"
        };

        var response = await graphQLClient.SendQueryAsync<dynamic>(request);
        // Print the response from the GraphQL server
        Console.WriteLine((string)response.Data.helloWorld);
    }
}

GraphQL C# bietet eine leistungsstarke und flexible Möglichkeit, APIs zu entwerfen, und mit Bibliotheken wie HotChocolate wird die Integration eines GraphQL-Backends in Ihre C#-Anwendungen unkompliziert. Durch die Definition eines Schemas und das Einrichten eines Servers können Sie Ihre Daten über eine GraphQL-API bereitstellen und effizient von C#-Clients abfragen.

Ausgabe

GraphQL C# (Wie es für Entwickler funktioniert): Abbildung 1 - Konsolenausgabe beim Ausführen des vorherigen Codes

Intro to IronPDF in C#

IronPDF ist eine vielseitige C#-Bibliothek, die es ermöglicht, PDF-Dokumente mühelos zu erstellen, zu bearbeiten und zu manipulieren. In diesem Abschnitt stellen wir IronPDF vor und demonstrieren, wie man es in Verbindung mit GraphQL einsetzt, um dynamische PDF-Berichte zu erstellen.

IronPDF glänzt mit seiner HTML-zu-PDF-Funktionalität, die alle Layouts und Stile bewahrt. Es ermöglicht die Erstellung von PDFs aus Webinhalten, perfekt für Berichte, Rechnungen und Dokumentationen. HTML-Dateien, URLs und HTML-Strings können nahtlos in PDFs umgewandelt werden.

using IronPdf;

class Program
{
    static void Main(string[] args)
    {
        var renderer = new ChromePdfRenderer();

        // 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");

        // 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");

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

Installation von IronPDF

Um mit IronPDF zu beginnen, installieren Sie das NuGet-Paket:

PM > Install-Package IronPdf

Erzeugen von PDF mit GraphQL-Daten mit IronPDF

Erstellen wir einen PDF-Bericht, der Benutzerdaten aus unserer GraphQL-API abruft und sie formatiert darstellt.

Beispiel

using IronPdf;
using GraphQL.Client.Http;
using GraphQL.Client.Serializer.Newtonsoft;
using System;
using System.Threading.Tasks;

public class PdfGenerator
{
    public async Task GeneratePdfAsync()
    {
        // Initialize GraphQL client
        var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
        {
            EndPoint = new Uri("http://localhost:5000/graphql")
        }, new NewtonsoftJsonSerializer());

        // Define GraphQL query
        var query = new GraphQLRequest 
        {
            Query = @"
                {
                    helloWorld
                }"
        };

        var response = await graphQLClient.SendQueryAsync<dynamic>(query);
        var helloMessage = response.Data.helloWorld.ToString();

        // Create HTML content for the PDF
        var htmlContent = $@"
            <html>
            <head><title>GraphQL Report</title></head>
            <body>
                <h1>GraphQL Report</h1>
                <p>{helloMessage}</p>
            </body>
            </html>";

        var renderer = new ChromePdfRenderer();
        var pdf = renderer.RenderHtmlAsPdf(htmlContent);
        pdf.SaveAs("GraphQLReport.pdf");
    }
}

In diesem Beispiel verwenden wir den GraphQL-Client, um die helloWorld Nachricht von unserer GraphQL-API abzurufen. Dann konstruieren wir eine HTML-Vorlage, die diese Nachricht enthält, und nutzen ChromePdfRenderer von IronPDF, um dieses HTML in eine PDF-Datei zu konvertieren.

Ausgabe

GraphQL C# (Wie es für Entwickler funktioniert): Abbildung 2 - Ausgegebenes PDF aus dem vorherigen Code

Abschluss

GraphQL hat sich als wegweisend in der API-Entwicklung erwiesen und bietet eine flexiblere und effizientere Methode, um Daten im Vergleich zu traditionellen RESTful-APIs abzufragen und zu manipulieren. Seine Fähigkeit, es den Clients zu ermöglichen, nur die benötigten Abfragedaten anzufordern, macht es besonders attraktiv für moderne Webanwendungen, bei denen Leistung und Flexibilität entscheidend sind.

Darüber hinaus eröffnet die Kombination von GraphQL mit Tools und Paketen wie IronPDF eine Welt aufregender Möglichkeiten zur Erstellung dynamischer und datengesteuerter PDF-Berichte. Ob Sie Rechnungen erstellen, Berichte generieren oder andere Arten von Dokumenten produzieren möchten, die Integration von IronPDF mit GraphQL in C# bietet eine leistungsstarke und effiziente Möglichkeit, die PDF-Generierung zu automatisieren.

Zusammenfassend lässt sich sagen, dass GraphQL und C# eine starke Kombination für den Aufbau moderner, flexibler und effizienter Webanwendungen darstellen. Mit Bibliotheken wie HotChocolate, GraphQL.Client und IronPDF haben Entwickler alle Werkzeuge zur Verfügung, die sie benötigen, um robuste, datengetriebene Anwendungen zu erstellen, die den Anforderungen der heutigen digitalen Landschaft gerecht werden.

Das Tutorial HTML zu PDF ist unter dem folgenden IronPDF-Lizenzhandbuch für Benutzer erhältlich.

Jacob Mellor, Chief Technology Officer @ Team Iron
Chief Technology Officer

Jacob Mellor ist Chief Technology Officer bei Iron Software und ein visionärer Ingenieur, der Pionierarbeit in der C# PDF-Technologie leistet. Als der ursprüngliche Entwickler hinter der Kern-Codebasis von Iron Software hat er die Produktarchitektur des Unternehmens seit seiner Gründung geprägt und es zusammen mit CEO Cameron Rimington in ein Unternehmen mit mehr als 50 Mitarbeitern verwandelt, das die NASA, Tesla und globale Regierungsbehörden beliefert.

...
Weiterlesen

Verwandte Artikel

Key in blue circle

Holen Sie sich sofort Ihren kostenlosen 30-Tage-Testschlüssel.

Your trial license will be sent to your email address

Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.

OR
bullet_checkedIhr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.Keine Einschränkungen. 100 % freigeschaltet. Keine Kreditkarte.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
Buchen Sie Ihre kostenlose Live-Demo
Booking Badge

Von Millionen von Ingenieur*innen weltweit vertraut

Kundenlogos von Iron Software
Erhalten Sie Ihre unverbindliche Beratung
Füllen Sie das Formular unten aus oder senden Sie eine E-Mail an sales@ironsoftware.com
Ihre Daten werden immer vertraulich behandelt.
Von Millionen von Ingenieur*innen weltweit vertraut
Kundenlogos von Iron Software
Erhalten Sie sofort Ihren kostenlosen 30-Tage-Testschlüssel.
Ihr Testlizenzschlüssel wurde Ihnen per E-Mail gesendet.
C# NuGet-Bibliothek für PDF
Installation mit NuGet

Version: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. Rechtsklick auf Referenzen, NuGet-Pakete verwalten
  2. Wählen Sie Durchsuchen und suchen Sie nach 'IronPDF'
  3. Paket auswählen und installieren
C# PDF DLL
Download DLL

Version: 2026.9

oder laden Sie den Windows-Installer hier herunter.

  1. Laden Sie IronPDF herunter und entpacken Sie es in ein Verzeichnis wie ~/Libs innerhalb Ihres Lösungsverzeichnisses
  2. Im Visual Studio-Projektmappen-Explorer klicken Sie mit der rechten Maustaste auf Referenzen. Wählen Sie Durchsuchen, "IronPDF.dll"

Lizenzen ab 749 $