透かしなしで本番環境でテストしてください。
必要な場所で動作します。
30日間、完全に機能する製品をご利用いただけます。
数分で稼働させることができます。
製品トライアル期間中にサポートエンジニアリングチームへの完全アクセス
GraphQLは、データをクエリして処理するためのオープンソースのデータクエリ言語です。Facebookによって開発され、RESTに代わる柔軟かつ効率的なソリューションとして広く採用されています。GraphQLでは、クライアントが必要とする正確なデータを指定して要求できます。これにより、サーバーから返されるデータが最小限になり、パフォーマンスの向上に寄与します。柔軟で効率的なウェブサービスを構築するためのRESTful APIの代替として、大きな人気を集めています。 GraphQLは、Java、Python、ASP .NET Coreなどのさまざまな言語で利用可能です。 しかし、この記事では、C#のコンテキストにおけるGraphQLの使用について掘り下げ、その概念、実装、および実践的な例を用いた使用法を探求します。 また、私たちはIronPDFGraphQLスキーマ定義クエリクラスを使用してPDFファイルを作成するためのC#用。
APIのためのGraphQLクエリ言語は、クライアントが必要なデータのみを正確に要求できるようにします。 RESTful APIとは異なり、複数のエンドポイントが固定されたデータ構造を返すことがあるのに対して、GraphQLサービスはクライアントが必要なデータの形状を指定できるため、より効率的で柔軟性があります。
C#プロジェクトでGraphQLを使用するには、人気のあるGraphQLエンドポイントサーバー実装であるHotChocolateライブラリが必要です。.NET用。
まず、Hot Chocolate NuGetパッケージをインストールします:
Install-Package HotChocolate.AspNetCore
GraphQLの実装スキーマは、APIで利用可能なデータ型と操作を定義します。 以下は、ブログアプリケーション用のGraphQLサービススキーマのスキーマファーストの簡単な例です:
using HotChocolate.Types;
public class QueryType : ObjectType
{
protected override void Configure(IObjectTypeDescriptor descriptor)
{
descriptor.Field("hello world")
.Type<StringType>()
.Resolve(context => "Hello, GraphQL!");
}
}
using HotChocolate.Types;
public class QueryType : ObjectType
{
protected override void Configure(IObjectTypeDescriptor descriptor)
{
descriptor.Field("hello world")
.Type<StringType>()
.Resolve(context => "Hello, GraphQL!");
}
}
この例では、「hello world」というフィールドを定義し、文字列 "Hello, GraphQL" を返します。!照会されたとき。
次に、ASP.NET Coreを使用してGraphQLサーバーを設定します:
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();
});
}
}
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();
});
}
}
それでは、GraphQL.Client
NuGetパッケージを使用してC#クライアントからこのGraphQL APIをクエリする方法を見てみましょう。
using GraphQL.Client;
using GraphQL.Client.Http;
using System;
using System.Threading.Tasks;
// query class
public class query
{
public static async Task Main()
{
using var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
{
EndPoint = new Uri("http://localhost:5000/graphql")
});
var schema = new GraphQLRequest
{
Query = @"
{
hello world
}"
};
var response = await graphQLClient.SendQueryAsync<dynamic>(schema);
Console.WriteLine(response.Data.hello);
}
}
using GraphQL.Client;
using GraphQL.Client.Http;
using System;
using System.Threading.Tasks;
// query class
public class query
{
public static async Task Main()
{
using var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
{
EndPoint = new Uri("http://localhost:5000/graphql")
});
var schema = new GraphQLRequest
{
Query = @"
{
hello world
}"
};
var response = await graphQLClient.SendQueryAsync<dynamic>(schema);
Console.WriteLine(response.Data.hello);
}
}
GraphQL C#は、強力かつ柔軟なAPI設計方法を提供します。HotChocolateのようなライブラリを使用すると、C#アプリケーションにGraphQLバックエンドを統合することが簡単になります。 スキーマを定義し、サーバーを設定することで、GraphQL APIを通じてデータを公開し、C#クライアントから効率的にクエリを実行できます。
IronPDFは、PDFドキュメントを簡単に作成、編集、および操作できる多機能なC#ライブラリです。 このセクションでは、IronPDFを紹介し、GraphQLと連携して動的なPDFレポートを生成する方法を実演します。
IronPDFは、それ自身での卓越性を発揮します。HTMLからPDFへの機能、すべてのレイアウトとスタイルを保持します。 ウェブコンテンツからPDFを作成でき、レポート、請求書、およびドキュメントに最適です。 HTMLファイル、URL、およびHTML文字列はシームレスにPDFに変換できます。
using IronPdf;
class Program
{
static void Main(string[] args)
{
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");
}
}
using IronPdf;
class Program
{
static void Main(string[] args)
{
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");
}
}
始めるには、NuGetパッケージをインストールしてください: IronPDF
Install-Package IronPdf
GraphQL APIからユーザーデータを取得し、フォーマットされた方法で表示するPDFレポートを作成しましょう。
using IronPdf;
using GraphQL.Client;
using GraphQL.Client.Http;
using System.Threading.Tasks;
using System;
public class PdfGenerator
{
public async Task GeneratePdfAsync()
{
var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
{
EndPoint = new Uri("http://localhost:5000/graphql")
});
// graphql queries & graphql requests
var query = new GraphQLRequest
{
Query = @"
{
hello world
}"
};
var response = await graphQLClient.SendQueryAsync<dynamic>(query);
var helloMessage = response.Data.hello.ToString();
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");
}
}
using IronPdf;
using GraphQL.Client;
using GraphQL.Client.Http;
using System.Threading.Tasks;
using System;
public class PdfGenerator
{
public async Task GeneratePdfAsync()
{
var graphQLClient = new GraphQLHttpClient(new GraphQLHttpClientOptions
{
EndPoint = new Uri("http://localhost:5000/graphql")
});
// graphql queries & graphql requests
var query = new GraphQLRequest
{
Query = @"
{
hello world
}"
};
var response = await graphQLClient.SendQueryAsync<dynamic>(query);
var helloMessage = response.Data.hello.ToString();
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");
}
}
この例では、GraphQLクライアントを使用して、GraphQL APIから「hello world」メッセージを取得します。 次に、このメッセージを含むHTMLテンプレートを作成し、IronPDFのChromePdfRenderer
を使用してこのHTMLをPDFファイルに変換します。
GraphQLはAPI開発における画期的な技術として登場し、従来のRESTful APIと比較して、データのクエリと操作をより柔軟かつ効率的に行う方法を提供します。クライアントが必要とするタイプのクエリデータのみを要求できるため、性能と柔軟性が最も重要視される現代のウェブアプリケーションに特に魅力的です。
さらに、GraphQLをツールやパッケージと組み合わせることでIronPDF動的かつデータ駆動のPDFレポートを生成するための興奮する可能性の世界を広げます。 請求書の作成、レポートの生成、その他の文書の作成を問わず、C#でIronPDFとGraphQLを統合することで、PDF生成を自動化する強力かつ効率的な方法を提供します。
要約すると、GraphQLとC#は、最新の柔軟で効率的なウェブアプリケーションを構築するための強力な組み合わせです。 HotChocolate、GraphQL.Client
、IronPDFのようなライブラリを使用することで、開発者は今日のデジタル環境の要求を満たす堅牢でデータ駆動型のアプリケーションを構築するためのすべてのツールを揃えることができます。
以下のリンクでHTMLからPDFへのチュートリアルが利用できますIronPDFライセンスガイド利用者が利用できるように。