IRONSOFTWAREHOME
開発者向けアップデート

RestSharp C# (開発者向けの仕組み)

Jacob Mellor、Ironチームの最高技術責任者(CTO)
Jacob Mellor
Updated: 2026年7月19日

RestSharpは、C#でHTTPリクエストを行うための人気のオープンソース.NETライブラリです。 それは、RESTful APIを操作するプロセスを簡略化し、ウェブサービスと通信するためのシンプルで柔軟な方法を提供します。 この記事では、RestSharpとIronPDFの重要な機能を探り、データを抽出してPDFを生成する方法を紹介します。

なぜRestSharpなのか?

現代のマルチティアアプリケーションでは、異なるサービスが頻繁に通信する必要があり、RestSharpは複雑さをすべてカプセル化することでシンプルで効率的な方法を提供します。 これは、ソフトウェア開発プロセスを大いに簡素化します。

RestSharpのインストール

RestSharpはNuGetパッケージとして提供されており、C#プロジェクトにインストールできます。 これは、NuGetパッケージマネージャコンソールまたはVisual StudioのNuGetパッケージマネージャUIを使用して実行できます。

PM > Install-Package RestSharp

簡単なGETリクエストの作成

RestSharpを使用してRESTful APIへのGETリクエストを行う簡単な例から始めましょう。公開されているASP.NETコアAPIからユーザーデータを取得したいと仮定します。

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は、非同期APIメソッドを使用して非同期リクエストとレスポンスをサポートしています。

レスポンスデータの処理

RestSharpは、レスポンスの内容をC#オブジェクトにデシリアライズするための便利な方法を提供します。 例を拡張して、JSONレスポンスデータをユーザーオブジェクトのリストにデシリアライズしてみましょう。

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

この例では、JSONフィールドに対応するプロパティを持つUserクラスを定義しました。 JsonSerializer.Deserializeを使用しました。

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; }
}

出力

すべてのユーザーIDと名前が出力に表示されます。

RestSharp C# (開発者向け): 図1 - ユーザーIDと名前を表示するコンソール出力。

全コードは、このリンクにGitで利用可能です。

コンテンツタイプ

RestSharpはXMLまたはJSONボディリクエストを送信することをサポートしています。 JSONまたはXMLボディを追加するためにAddXmlBodyメソッドを使用できます。 RestSharpは、コンテンツタイプを自動的に設定します。 JSONまたは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);

データをPOSTリクエストで送信する

RestSharpは、リクエストボディでデータを送信することもサポートしており、リソースを作成または更新する場合によく使用されます。 例を修正して、POSTリクエストAPIを示します:

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

この例では、新しいAddJsonBodyメソッドを使用してリクエストボディに含めます。 サーバーはJSONデータを受信し、要求を適切に処理します。

出力

RestSharp C# (開発者向け): 図2 - コンソール出力

認証

RestSharpは、認証を使用してリクエストを送信することもサポートしています。 RestClientOptionsには認証パラメータを含めることができます。

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

ここでは、クライアントIDシークレット認証を使用しており、すべてのリクエストで送信されています。

エラーハンドリング

RestSharpは、タイムアウト、認証、または認可エラーなどのURL要求中に発生するエラーを処理できます。 RestSharpは、リクエストが自動的に失敗しても例外をスローしません。 手動で設定する必要があります。

以下のエラーハンドリング構成が可能です:

  • FailOnDeserializationError: このプロパティをtrueに設定すると、RestSharpはデシリアライズの失敗をエラーとみなし、Errorとして設定します。
  • **ThrowOnDeserializationError:**このプロパティを true に設定すると、逆シリアル化が失敗したときに RestSharp がスローするように指示します。
  • **ThrowOnAnyError:**リクエストの実行時または逆シリアル化中にエラーが発生した場合、例外をスローします。
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);

IronPDFの紹介

IronPDFは、Iron SoftwareのC# PDFライブラリで、PDFドキュメントの読み取りと生成をサポートします。 スタイル情報を含むフォーマットされたドキュメントを簡単にPDFに変換できる。 IronPDFは、HTMLコンテンツから簡単にPDFを生成できます; URLからHTMLをダウンロードしてPDFを生成できます。

IronPDFの重要な機能はHTMLからPDFへの変換で、レイアウトとスタイルをすべて保持します。 ウェブコンテンツをPDFに変換するので、レポート、請求書、ドキュメントに最適です。 HTMLファイル、URL、およびHTML文字列を簡単にPDFに変換できます。

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

IronPDFライブラリをインストールする

NuGetパッケージマネージャを使用して、Selenium RestSharpプロジェクトにIronPDFを統合するには、次の手順に従います:

  1. Visual Studioを開き、ソリューションエクスプローラーでプロジェクトを右クリックします。
  2. コンテキストメニューから"NuGetパッケージの管理..."を選択します。
  3. [参照]タブに移動して、IronPDFを検索します。
  4. 検索結果からIronPDFライブラリを選択し、インストールボタンをクリックします。
  5. ライセンス契約のプロンプトを承諾します。

パッケージマネージャコンソールを介してプロジェクトにIronPDFを含めたい場合は、パッケージマネージャコンソールで次のコマンドを実行します:

PM > Install-Package IronPdf

プロジェクトに IronPDF を取得してインストールします。

NuGet ウェブサイトを使ってインストール

機能、互換性、追加のダウンロードオプションを含む IronPDF の詳細な概要については、NuGet ウェブサイトの IronPDF ページを訪れてください。https://www.nuget.org/packages/IronPdf。

DLLを介してインストール

また、DLLファイルを直接使用してプロジェクトにIronPDFを取り込むこともできます。IronPDF ダウンロードからDLLを含むZIPファイルをダウンロードします。 それを解凍してプロジェクトにDLLを含めます。

ここで、すべてのユーザーを取得し、HTML文字列とIronPDFジェネレーターを使用してPDFレポートを生成します。

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;
        }
    }
}

全コードはGitでこのリンクで確認できます。

ここでは、最初にユーザーリストから必要なレポートのすべてのフォーマットを備えたHTML文字列を生成します。 次に、IronPDFを使用してPDFドキュメントを生成します。 HTML文字列をPDFドキュメントに変換するためにRenderHtmlAsPdfメソッドを使用します。 生成されたドキュメントは以下の通りです:

RestSharp C# (開発者向け): 図4 - 出力PDF

ドキュメントには試用ライセンス用の小さな透かしがあり、有効なライセンスを使用して削除できます。

ライセンス (無料トライアル利用可能)

上記のコードを機能させるには、ライセンスキーが必要です。 このキーは次のようにしてappsettings.jsonに配置する必要があります:

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

試用ライセンスは、登録すると開発者に提供され、試用ライセンスにはクレジットカードは必要ありません。 自分のメールIDを提供して、無料試用に登録できます。

結論

RestSharpライブラリは、C#でRESTful APIを操作するプロセスを簡素化し、HTTP要求を行いレスポンスを処理するためのクリーンで効率的な方法を提供します。 GETリクエストでデータを取得する場合でも、POSTリクエストでデータを送信する場合でも、RestSharpの直感的なAPIと便利な機能は、ウェブサービスと連携するアプリケーションを構築する開発者にとって貴重なツールです。

IronPDFは、PDFを生成するための柔軟で使いやすいソリューションを提供します。 IronPDFのさまざまな機能に関する追加情報については、IronPDFドキュメントページをご覧ください。

IronPDFの永続ライセンスは、コーディングスキルを向上させ、現代のアプリケーション要件を達成するのに役立ちます。

RestSharpとIronPDFの両方を知っていることは、開発者が現代のアプリケーションを作成するための優れたスキルを追加します。

Jacob Mellor、Ironチームの最高技術責任者(CTO)
最高技術責任者(CTO)

ジェイコブ・メラーはIron Softwareの最高技術責任者(CTO)であり、C# PDFテクノロジーを開拓する先見的なエンジニアです。Iron Softwareのコアコードベースを支えるオリジナル開発者として、彼は創業以来、会社の製品アーキテクチャを形成し、CEOのCameron Rimingtonとともに、会社をNASA、Tesla、および世界的な政府機関にサービスを提供する50人以上の会社に変えました。1999年にロンドンで最初のソフトウェアビジネスを開業し、2005年に最初 for .NETコンポーネントを作成した後、Microsoftのエコシステム全体で複雑な問題を解決することを専門としました。

関連する記事

Key in blue circle

無料の30日間トライアルキーをすぐに入手してください。

Your trial license will be sent to your email address

制限なし。100% ロック解除済み。クレジットカード不要。

OR
bullet_checkedクレジットカードやアカウントの作成は不要です。制限なし。100% ロック解除済み。クレジットカード不要。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried Iron Suite
無料のライブデモを予約する
Booking Badge

世界中の数百万人のエンジニアから信頼されています。

ライセンスはより安く
義務のない相談を受ける
下記のフォームを記入するか、sales@ironsoftware.comにメールしてください。
あなたの詳細は常に守秘されます。
世界中の数百万人のエンジニアから信頼されています。
ライセンスはより安く
あなたの無料30日間の試用キーをすぐに入手。
クレジットカードやアカウントの作成は不要です。
PDF用C# NuGetライブラリ
NuGetでインストール

バージョン: 2026.9

PM > Install-Package IronPdf
nuget.org/packages/IronPdf/
  1. ソリューションエクスプローラーで参照を右クリックし、NuGetパッケージを管理を選択
  2. ブラウズを選択し、"IronPDF"を検索
  3. パッケージを選択してインストール
C# PDF DLL
DLLをダウンロード

バージョン: 2026.9

またはここからWindowsインストーラーをダウンロードする。

  1. IronPDFを~/Libsなどの場所に解凍し、ソリューションディレクトリ内に配置する
  2. Visual Studioソリューションエクスプローラーで参照を右クリックし、"IronPDF.dll"をブラウズして選択

ライセンスは$999から