Altbilgi içeriğine atla
.NET YARDıM

RestSharp C# (Geliştiriciler İçin Nasıl Çalışır)

RestSharp, C#'ta HTTP istekleri oluşturmak için popüler bir açık kaynak .NET kütüphanesidir. RESTful API'ler ile çalışmayı basitleştirir, web servisleriyle iletişim kurmanın basit ve esnek bir yolunu sunar. Bu makalede, RestSharp ve IronPDF'in önemli özelliklerini inceleyeceğiz ve nasıl veri çıkarılacağını ve PDF oluşturulacağını göstereceğiz.

Neden RestSharp?

Modern, çok katmanlı uygulamalarda, farklı servislerin sık sık birbiriyle iletişim kurması gerekir ve RestSharp, tüm karmaşıklıkları kapsayarak basit ve verimli bir yol sunar. Bu, yazılım geliştirme sürecini büyük ölçüde basitleştirir.

RestSharp Kurulumu

RestSharp, bir NuGet paketi olarak mevcuttur ve C# projenize kurulabilir. Bunu NuGet Paket Yöneticisi Konsolu veya Visual Studio NuGet Paket Yöneticisi UI kullanarak yapabilirsiniz.

Install-Package RestSharp

Basit GET İstekleri Yapma

RestSharp kullanarak RESTful API'ye GET isteği yapmanın basit bir örneğiyle başlayalım. Diyelim ki kullanıcı verilerini döndüren bir genel ASP.NET çekirdek API'sinden bilgi almak istiyoruz:

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);
        }
    }
}
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);
        }
    }
}
Imports RestSharp
Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			' Base URL for the REST API
			Dim baseUrl = "https://jsonplaceholder.typicode.com/users"

			' Create a RestClientOptions with default credentials
			Dim options = New RestClientOptions(baseUrl) With {.UseDefaultCredentials = True}
			Dim client = New RestClient(options)

			' Create a RestRequest for the GET method
			Dim request = New RestRequest()

			' Execute the request and get the response
			Dim response = client.Get(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Output the response body content
				Console.WriteLine(response.Content)
			Else
				' Handle the error
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub

		' Additional method to log data
		Public Sub LogData(ByVal msg As String)
			Console.WriteLine(msg)
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

RestSharp, asenkron istekleri ve yanıtları async API yöntemleri kullanarak da destekler.

Yanıt Verilerini İşleme

RestSharp, yanıt içeriğini C# nesnelerine deserializasyon için kullanışlı yöntemler sağlar. JSON yanıt verilerini bir kullanıcı nesneleri listesine deserializasyon etmek için örneğimizi genişletelim:

// 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}");
}
// 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}");
}
' Deserialize JSON response into a list of User objects
Dim users = JsonSerializer.Deserialize(Of List(Of User))(response.Content)

' Output user information
For Each user In users
	Console.WriteLine($"User ID: {user.Id}, Name: {user.Name}, Email: {user.Email}")
Next user
$vbLabelText   $csharpLabel

Bu örnekte, JSON alanlarına karşılık gelen özelliklere sahip bir User sınıfı tanımladık. System.Text.Json namespacesinden JsonSerializer.Deserialize kullandık.

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; }
}
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; }
}
Public Class User
	<JsonPropertyName("company")>
	Public Property Company() As Company

	<JsonPropertyName("id")>
	Public Property Id() As Integer

	<JsonPropertyName("phone")>
	Public Property Phone() As String

	<JsonPropertyName("website")>
	Public Property Website() As String

	<JsonPropertyName("name")>
	Public Property Name() As String

	<JsonPropertyName("username")>
	Public Property Username() As String

	<JsonPropertyName("email")>
	Public Property Email() As String

	<JsonPropertyName("address")>
	Public Property Address() As Address
End Class
$vbLabelText   $csharpLabel

Çıktı

Tüm kullanıcı kimlikleri ve isimleri çıktıda gösterilir.

RestSharp C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 1 - Tüm Kullanıcı Kimliklerini ve İsimlerini Gösteren Konsol Çıktısı.

Tüm kod, Git bu bağlantıda mevcuttur.

İçerik Türü

RestSharp, XML veya JSON gövde isteklerini göndermeyi destekler. AddJsonBody veya AddXmlBody yöntemleri, JSON veya XML gövdesi eklemek için RestRequest örneğinde kullanılabilir. RestSharp içerik türünü otomatik olarak belirler. JSON veya XML yanıtlarını otomatik olarak işler.

// 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);
// 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);
' Serialize the user object to JSON
Dim jsonBodyString = JsonSerializer.Serialize(newUser)

' Create a RestRequest for the POST method with the JSON request data
Dim requestData = (New RestRequest()).AddJsonBody(jsonBodyString)
Dim response = client.ExecutePost(requestData)
$vbLabelText   $csharpLabel

POST İstekleri ile Veri Gönderme

RestSharp, istek gövdesinde veri göndermeyi de destekler, bu kaynak oluşturulurken veya güncellenirken yaygındır. Örneğimizi, bir POST istek API'si göstermek için değiştirelim:

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}");
            }
        }
    }
}
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}");
            }
        }
    }
}
Imports RestSharp
Imports System.Text.Json

Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			Dim client = New RestClient("https://jsonplaceholder.typicode.com/users")

			' New user object
			Dim newUser = New User With {
				.Name = "John Doe",
				.Email = "john.doe@example.com"
			}

			' Serialize the user object to JSON
			Dim jsonBody = JsonSerializer.Serialize(newUser)

			' Create a RestRequest for the POST method with the JSON request body
			Dim request = (New RestRequest()).AddJsonBody(jsonBody)

			' Execute the POST request
			Dim response = client.ExecutePost(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Output the response content
				Console.WriteLine(response.Content)
			Else
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Bu örnekte, yeni bir User nesnesi oluşturup, JSON'a serileştiriyoruz ve AddJsonBody metodunu kullanarak istek gövdesine ekliyoruz. Sunucu, JSON verilerini alır ve isteği uygun şekilde işler.

Çıktı

RestSharp C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 2 - Konsol Çıktısı

Kimlik Doğrulama

RestSharp, kimlik doğrulama ile istek göndermeyi de destekler. RestClientOptions doğrulama parametrelerini içerebilir.

var options = new RestClientOptions("https://auth.net")
{
    Authenticator = new HttpBasicAuthenticator(_clientId, _clientSecret)
};
var options = new RestClientOptions("https://auth.net")
{
    Authenticator = new HttpBasicAuthenticator(_clientId, _clientSecret)
};
Dim options = New RestClientOptions("https://auth.net") With {.Authenticator = New HttpBasicAuthenticator(_clientId, _clientSecret)}
$vbLabelText   $csharpLabel

Burada, her istekte gönderilen temel istemci kimliği gizli kimlik doğrulamasını kullanıyoruz.

Hata Yönetimi

RestSharp, URL istekleri sırasında meydana gelen hata durumlarını, zaman aşımı, kimlik doğrulama veya yetkilendirme hatalarını ele alabilir. RestSharp, istek başarısız olursa otomatik olarak bir istisna atmaz. Manuel olarak yapılandırılması gerekir.

Aşağıdaki hata işleme yapılandırmaları yapılabilir:

  • FailOnDeserializationError: Bu özelliği true olarak ayarlamak, RestSharp'a başarısız deserializasyonu bir hata olarak değerlendirmesi gerektiğini ve buna uygun olarak ResponseStatus değerini Error olarak ayarlamasını söyler.
  • ThrowOnDeserializationError: Bu özelliği true olarak ayarlamak, deserializasyon başarısız olduğunda RestSharp'a atmasını söyler.
  • ThrowOnAnyError: Herhangi bir istek hatası veya deserializasyon sırasında herhangi bir hata meydana gelirse bir istisna fırlatır.
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);
Dim restClientOptions As New RestClientOptions(url) With {.ThrowOnAnyError = True}
Dim client = New RestClient(restClientOptions)
$vbLabelText   $csharpLabel

IronPDF Tanıtımı

IronPDF, Iron Software'den C# için bir PDF kütüphanesidir ve PDF belgelerini okumaya ve üretmeye yardımcı olur. Stil bilgilerini içeren kolayca biçimlendirilmiş belgeleri PDF'ye dönüştürebilir. IronPDF, HTML içeriğinden kolayca PDF'ler üretebilir; HTML'yi bir URL'den indirip sonra PDF'ye dönüştürebilir.

IronPDF'in kilit özelliği, tüm düzenlerinizi ve stillerinizi koruyarak HTML'den PDF'ye dönüşüm yapmasıdır. Web içeriğini PDF'lere dönüştürür, bu da onu raporlar, faturalar ve belgeler için ideal kılar. HTML dosyaları, URL'ler ve HTML dizgileri kolayca PDF'lere dönüştürülebilir.

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

Friend Class Program
	Shared Sub Main(ByVal args() As String)
		' Create a PDF renderer using Chrome
		Dim renderer = New ChromePdfRenderer()

		' 1. Convert HTML String to PDF
		Dim htmlContent = "<h1>Hello, IronPDF!</h1><p>This is a PDF from an HTML string.</p>"
		Dim pdfFromHtmlString = renderer.RenderHtmlAsPdf(htmlContent)
		pdfFromHtmlString.SaveAs("HTMLStringToPDF.pdf")

		' 2. Convert HTML File to PDF
		Dim htmlFilePath = "path_to_your_html_file.html" ' Specify the path to your HTML file
		Dim pdfFromHtmlFile = renderer.RenderHtmlFileAsPdf(htmlFilePath)
		pdfFromHtmlFile.SaveAs("HTMLFileToPDF.pdf")

		' 3. Convert URL to PDF
		Dim url = "http://ironpdf.com" ' Specify the URL
		Dim pdfFromUrl = renderer.RenderUrlAsPdf(url)
		pdfFromUrl.SaveAs("URLToPDF.pdf")
	End Sub
End Class
$vbLabelText   $csharpLabel

IronPDF Kütüphanesini Yükleyin

NuGet Paket yöneticisini kullanarak IronPDF'i Selenium RestSharp projenize entegre etmek için bu adımları izleyin:

  1. Visual Studio'yu açın ve Çözüm Gezgini'nde projenize sağ tıklayın.
  2. Bağlam menüsünden "NuGet Paketlerini Yönet..." seçeneğini seçin.
  3. Gözat sekmesine gidin ve IronPDF'i arayın.
  4. Arama sonuçlarından IronPDF kütüphanesini seçin ve yükle düğmesine tıklayın.
  5. Herhangi bir lisans anlaşması istemini kabul edin.

IronPDF'i Proje Yöneticisi Konsolu üzerinden projenize dahil etmek istiyorsanız, Proje Yöneticisi Konsolu'nda aşağıdaki komutu çalıştırın:

Install-Package IronPdf

Bu, IronPDF'yi projenize getirip kuracaktır.

NuGet Web Sitesini Kullanarak Kurulum

IronPDF'nin özellikleri, uyumluluğu ve ek indirme seçenekleri dahil olmak üzere detaylı bir genel bakış için IronPDF sayfasını https://www.nuget.org/packages/IronPdf adresindeki NuGet web sitesinde ziyaret edin.

DLL Kullanarak Kurulum

Alternatif olarak, IronPDF'i doğrudan projenize DLL dosyasını kullanarak dahil edebilirsiniz. DLL içeren ZIP dosyasını IronPDF İndir bağlantısından indirin. Zip'i açın ve DLL'yi projenize dahil edin.

Şimdi tüm kullanıcıları alıp HTML string'i ve IronPDF jeneratörü kullanarak bir PDF raporu oluşturacağız.

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;
        }
    }
}
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;
        }
    }
}
Imports System.Text.Json
Imports System.Text.Json.Serialization
Imports RestSharp
Imports IronPdf

Namespace rest_sharp_demo
	Friend Class Program
		Shared Sub Main()
			' Create a RestClient
			Dim baseUrl = "https://jsonplaceholder.typicode.com/users"
			Dim options As New RestClientOptions(baseUrl) With {.UseDefaultCredentials = True}
			Dim client = New RestClient(options)

			' Create a RestRequest for the GET method
			Dim request = New RestRequest()

			' Execute the request and get the response
			Dim response = client.Get(request)

			' Check if the request was successful
			If response.IsSuccessful Then
				' Deserialize JSON response into a list of User objects
				Dim users = JsonSerializer.Deserialize(Of List(Of User))(response.Content)

				' Generate PDF
				Dim html = GetHtml(users)
				Dim renderer = New ChromePdfRenderer()
				Dim pdf = renderer.RenderHtmlAsPdf(html)
				pdf.SaveAs("UsersReport.pdf")
			Else
				' Handle the error
				Console.WriteLine($"Error: {response.ErrorMessage}")
			End If
		End Sub

		' Method to generate HTML from user data
'INSTANT VB WARNING: Nullable reference types have no equivalent in VB:
'ORIGINAL LINE: private static string GetHtml(List<User>? users)
		Private Shared Function GetHtml(ByVal users As List(Of User)) As String
			Dim header As String = "
<html>
<head><title>Users List</title></head>
<body>
"
			Dim footer = "
</body>
</html>"
			Dim htmlContent = header
			For Each 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>
"
			Next user
			htmlContent &= footer
			Return htmlContent
		End Function
	End Class
End Namespace
$vbLabelText   $csharpLabel

Tüm kod, Git bu bağlantıda bulunabilir.

Burada, raporlar için gerekli tüm formatlamaya sahip kullanıcı listesi üzerinden bir HTML string'i oluşturuyoruz. Ardından, IronPDF kullanarak bir PDF belgesi üretiyoruz. HTML metnini bir PDF belgesine dönüştürmek için RenderHtmlAsPdf metodunu kullanıyoruz. Oluşturulan belge aşağıdaki gibidir:

RestSharp C# (Geliştiriciler İçin Nasıl Çalışır): Şekil 4 - PDF Çıktısı

Belge, geçerli bir lisans kullanılarak kaldırılabilen bir deneme lisans filigranı içerir.

Lisanslama (Ücretsiz Deneme Mevcuttur)

Yukarıdaki kodun çalışması için bir lisans anahtarı gereklidir. Bu anahtarın appsettings.json içinde aşağıdaki gibi yerleştirilmesi gerekir:

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

Geliştiricilere kayıt olduktan sonra bir deneme lisansı sunulmaktadır ve deneme lisansı için bir kredi kartı gerekmemektedir. Bir kişi, e-posta kimliğini sağlayıp ücretsiz bir deneme için kaydolabilir.

Sonuç

RestSharp kütüphanesi, C#'ta RESTful API'lerle çalışmayı basitleştirir, temiz ve etkili bir şekilde HTTP istekleri oluşturma ve yanıtları ele alma sağlar. İster GET istekleriyle veri alıyor olun, ister POST istekleriyle veri gönderiyor olun, RestSharp'ın sezgisel API'si ve kullanışlı özellikleri, web servisleriyle etkileşimde bulunan uygulamalar geliştiren geliştiriciler için değerli bir araç kılar.

IronPDF, PDF oluşturma için esnek ve kullanımı kolay bir çözüm sunar. Çeşitli IronPDF özellikleri hakkında daha fazla bilgi için lütfen IronPDF dokümantasyon sayfasını ziyaret edin.

IronPDF'in süresiz lisansları kodlama becerilerinizi geliştirip modern uygulama gereksinimlerini karşılamanıza yardımcı olacaktır.

Hem RestSharp hem de IronPDF bilmek, büyük yetenekler kazandırarak geliştiricilere modern uygulamalar oluşturma imkanı tanır.

Sıkça Sorulan Sorular

HTML'yi C# içerisinde PDF'ye nasıl dönüştürebilirim?

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'ün RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca, HTML dosyalarını RenderHtmlFileAsPdf kullanarak PDF'lere dönüştürebilirsiniz.

RestSharp, C#'ta nedir?

RestSharp, C#'ta HTTP istekleri yapmak için yaygın olarak kullanılan açık kaynaklı bir .NET kütüphanesidir. RESTful API'larla çalışmayı, esnek ve kolay bir şekilde web servisleri ile iletişim kurmayı kolaylaştırır.

RestSharp'ı C# projesine nasıl yüklerim?

RestSharp, C# projenize NuGet paketi olarak yüklenebilir. Bunu, NuGet Paket Yöneticisi Konsolu ile Install-Package RestSharp komutunu kullanarak ya da Visual Studio NuGet Paket Yöneticisi kullanıcı arayüzü üzerinden yapabilirsiniz.

C# kullanarak API verilerinden PDF'ler nasıl oluştururum?

RestSharp kullanarak bir API'den veri alabilir ve IronPDF kullanarak bu verileri PDF'ye dönüştürebilirsiniz. Önce verileri RestSharp ile alın, ardından verileri HTML formatına çevirin, bu HTML IronPDF ile bir PDF'ye dönüştürülebilir.

RestSharp'ta hata işleme için en iyi uygulamalar nelerdir?

RestSharp, yanıt durumunu kontrol etmenizi ve istisnaları ele almanızı sağlayarak hata işleme mekanizmaları sunar. İstek başarılı mı yoksa bir hata mi meydana geldiğini belirlemek için ResponseStatus ve StatusCode özelliklerini inceleyebilirsiniz.

RestSharp yanıtlarında JSON verilerini nasıl ele alabilirim?

RestSharp, yanıtlarında JSON verilerini kolayca ele alabilir. System.Text.Json veya Newtonsoft.Json gibi kütüphaneleri kullanarak JSON içeriğini C# nesnelerine çözmek için yöntemler sağlar.

C#'ta URL'leri PDF'lere dönüştürebilir misiniz?

Evet, IronPDF, RenderUrlAsPdf yöntemi ile web URL'lerini PDF'lere dönüştürmenize olanak tanır, bu yöntem URL'nin içeriğini alır ve bir PDF belgesine dönüştürür.

RestSharp kullanarak bir POST isteği ile veri nasıl gönderirim?

RestSharp kullanarak bir POST isteği ile veri göndermek için, yeni bir nesne oluşturun, JSON formatına serileştirin ve RestRequest'in AddJsonBody yöntemi ile istek gövdesine ekleyin. Ardından, istemci ile POST isteğini gerçekleştirirsiniz.

RestSharp kimlik doğrulamayı destekliyor mu?

Evet, RestSharp kimlik doğrulama ile istek gönderme işlemlerini destekler. RestClientOptions içine temel kimlik doğrulama için HttpBasicAuthenticator gibi kimlik doğrulama parametreleri ekleyebilirsiniz.

C# uygulamama PDF oluşturmayı nasıl entegre edebilirim?

C# uygulamanıza IronPDF kullanarak PDF oluşturmayı entegre edebilirsiniz. HTML içeriği, URL'ler veya HTML dosyalarını PDF'lere dönüştürmenize imkan tanır, böylece raporlar, belgeler veya faturalar doğrudan bir uygulamada oluşturulabilir.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Teknoloji Direktörü

Jacob Mellor, Iron Software'de Baş Teknoloji Yöneticisidir ve C# PDF teknolojisinde öncü bir mühendisdir. Iron Software'ın ana kod tabanının ilk geliştiricisi olarak, CEO Cameron Rimington ile birlikte şirketin ürün mimarisini 50'den fazla kişilik bir şirkete dönüştürmüştür ...

Daha Fazla Oku

Iron Destek Ekibi

Haftada 5 gün, 24 saat çevrimiçiyiz.
Sohbet
E-posta
Beni Ara