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

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

RestSharp, C#'da HTTP istekleri yapma için popüler bir açık kaynak .NET kütüphanesidir. RESTful API'larla çalışmayı basitleştirerek, web hizmetleriyle iletişim adına açık ve esnek bir yol sunar. Bu yazıda, RestSharp ve IronPDF uygulamalarının en önemli özelliklerini keşfedeceğiz ve verinin nasıl çağrılabileceğini ve bir PDF'nin nasıl oluşturulabileceğini göreceğiz.

Neden RestSharp?

Modern, çok katmanlı uygulamalarda, farklı hizmetlerin birbiriyle sık iletişim kurmaları gerekir ve RestSharp, tüm karmaşıklıkları kapsama alarak basit ve etkin bir yöntem sunar. Bu, yazılım geliştirme sürecini büyük ölçüde basitleştirir.

RestSharp'i Yükleme

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

Install-Package RestSharp

Basit GET İsteği Yapma

RestSharp ile bir RESTful API'ye GET isteği yapma ile başlayalım. Varsayalım ki bir kullanıcı verilerini döndüren genel bir ASP.NET Core API'den 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, async API yöntemlerini kullanarak asenkron istem ve yanıtları da destekler.

Cevap Verilerini İşleme

RestSharp, cevap içeriklerini C# objelerine dönüştürmek için kullanışlı yöntemler sunar. Örneğimizi, JSON cevap verilerini kullanıcı objeleri listesine dönüştürmek için 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ıyla eşleşen özelliklere sahip bir User sınıfı tanımladık. System.Text.Json ad alanı içinde 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österilmektedir.

RestSharp C# (Geliştirici İçin Nasıl Çalışır): Şekil 1 - Tüm Kullanıcı ID'lerini ve Adlarını gösteren Konsol Çıktısı.

Tüm kodları Git bu bağlantıda bulabilirsiniz.

İçerik Türü

RestSharp, XML veya JSON gövde isteklerinin gönderilmesini destekler. JSON veya XML gövdesi eklemek için RestRequest örneğinin AddJsonBody veya AddXmlBody yöntemleri kullanılabilir. RestSharp içerik türünü otomatik olarak ayarlayacaktır. JSON veya XML cevapları 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 İstekleriyle Veri Gönderimi

RestSharp ayrıca kaynak oluşturma veya güncelleme sırasında sıkça kullanıldığında, istek gövdesine veri göndermeyi de destekler. Bir POST isteği API'sini göstermek için örneğimizi güncelleyip:

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şturuyoruz, JSON formatına serileştirip AddJsonBody yöntemi kullanarak isteğin gövdesine dahil ediyoruz. Sunucu JSON verilerini alır ve isteği buna göre işler.

Çıktı

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

Kimlik Doğrulama

RestSharp ayrıca kimlik doğrulamalı istekler göndermeyi de destekler. RestClientOptions doğrulama parametrelerini dahil edebilir.

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 müşteri ID gizli kimlik doğrulamasını kullanıyoruz.

Hata Yönetimi

RestSharp, zaman aşımı, kimlik doğrulama veya yetkilendirme hataları gibi URL istekleri sırasında oluşabilecek hataları da işleyebilir. RestSharp, istek otomatik olarak başarısız olduğunda istisna fırlatmaz. 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 hatalı serileştirme işlemini bir hata olarak düşünmesi gerektiğini söyleyecek ve ResponseStatus'yi buna göre Error olarak ayarlayacaktır.
  • DeserializationError'da İstisna Fırlat: Bu özelliği doğru ayarlamak, deserialization başarısız olduğunda RestSharp'ın istisna fırlatmasını sağlayacak.
  • Herhangi Bir Hata Durumunda İstisna Fırlat: İstek yaparken veya deserialization sırasında herhangi bir hata olursa 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, PDF belgelerini okumaya ve oluşturmaya yardımcı olan Iron Softwaredan bir C# PDF kütüphanesidir. Biçimlendirilmiş belgeleri stil bilgileriyle kolayca PDF'e dönüştürebilir. IronPDF, HTML içeriğinden kolayca PDF'ler oluşturabilir; HTML'yi bir URL'den indirebilir ve ardından PDF'ler oluşturabilir.

IronPDF'nin ana özelliği, tüm düzen ve stillerinizi koruyan HTML'den PDF'ye dönüşümüdür. Web içeriğini PDF'lere dönüştürür ve raporlar, faturalar ve dokümantasyon için ideal hale getirir. HTML dosyaları, URL'ler ve HTML dizeleri 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 Kurma

Selenium RestSharp projenizle NuGet Paket Yöneticisini kullanarak IronPDF'yi entegre etmek için şu 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 butonuna tıklayın.
  5. Herhangi bir lisans sözleşmesi bildirimini kabul edin.

IronPDF'yi projenize Paket Yöneticisi Konsolundan dahil etmek istiyorsanız, Paket Yöneticisi Konsolunda aşağıdaki komutu yürütün:

Install-Package IronPdf

Bu, IronPDF'yi projenize getirip kuracaktır.

NuGet Web Sitesi Üzerinden Yükleme

IronPDF'nin özellikleri, uyumluluğu ve ek indirme seçenekleri dahil olmak üzere ayrıntılı bir özet için, NuGet web sitesindeki IronPDF sayfasını https://www.nuget.org/packages/IronPdf ziyaret edin.

DLL Üzerinden Yükleme

Alternatif olarak, IronPDF'yi doğrudan projenize bunun DLL dosyasını kullanarak entegre edebilirsiniz. DLL dosyasını içeren ZIP dosyasını IronPDF İndir adresinden indirin. ZIP'i açın ve DLL'i projenize ekleyin.

Şimdi tüm kullanıcıları alacak ve bir HTML dizesi ve IronPDF oluşturucusu 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 kodu Git bu bağlantıda bulabilirsiniz.

Burada, önce kullanıcılar listesinden raporlar için gerekli tüm biçimlendirmeyle birlikte bir HTML dizesi oluşturuyoruz. Daha sonra IronPDF kullanarak bir PDF belgesi oluşturuyoruz. HTML dizesini bir PDF belgeye dönüştürmek için RenderHtmlAsPdf metodunu kullanıyoruz. Oluşturulan belge aşağıdaki gibidir:

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

Belge, geçerli bir lisans kullanılarak kaldırılabilecek deneme lisansları için küçük bir filigrana sahiptir.

Lisanslama (Ücretsiz Deneme Mevcut)

Yukarıdaki kodun çalışması için lisans anahtarı gereklidir. Bu anahtar, şu şekilde appsettings.json konumuna yerleştirilmelidir:

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

Geliştiriciler için kayıt olduktan sonra bir deneme lisansı mevcuttur ve deneme lisansı için kredi kartı gerekmez. Kişi e-posta kimliğini sağlayabilir ve ücretsiz bir deneme kaydı yapabilir.

Sonuç

RestSharp kütüphanesi, C#'da RESTful API'lerle çalışmayı basitleştirir, HTTP isteklerinin yapılmasını ve cevapların yönetilmesini temiz ve verimli bir şekilde sağlar. GET istekleriyle veri alıyor ya da POST istekleriyle veri gönderiyor olun, RestSharp'ın sezgisel API'si ve kullanışlı özellikleri, web hizmetleri ile etkileşimli uygulamalar geliştiren geliştiriciler için değerli bir araç haline getirir.

IronPDF, PDF'ler oluşturmak 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'nin süresiz lisansları, kodlama becerilerinizi geliştirmenize ve modern uygulama gereksinimlerine ulaşmanıza yardımcı olacaktır.

Hem RestSharp hem de IronPDF'yi bilmek, modern uygulamalar oluşturmanızı sağlayarak büyük beceriler katar.

Sıkça Sorulan Sorular

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

HTML dizgilerini PDF'lere dönüştürmek için IronPDF'nin RenderHtmlAsPdf yöntemini kullanabilirsiniz. Ayrıca RenderHtmlFileAsPdf kullanarak HTML dosyalarının PDF'lere dönüştürülmesini de sağlayabilirsiniz.

C#'ta RestSharp nedir?

RestSharp, C# dilinde HTTP istekleri yapmak için popüler bir açık kaynaklı .NET kütüphanesidir. Web servisleriyle iletişimi sağlamanın kolay ve esnek bir yolunu sunarak RESTful API'larla çalışmayı basitleştirir.

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

RestSharp, C# projenize bir NuGet paketi olarak yüklenebilir. Bunu, Install-Package RestSharp komutuyla veya Visual Studio NuGet Paket Yöneticisi arayüzü aracılığıyla NuGet Paket Yöneticisi Konsolu'nu kullanarak yapabilirsiniz.

API verilerinden C# kullanarak PDF'ler nasıl üretebilirim?

Bir API'dan veri çekmek için RestSharp'ı ve bu verileri PDF'ye dönüştürmek için IronPDF'yi kullanabilirsiniz. İlk olarak, RestSharp ile veriyi alın, ardından veriyi HTML olarak biçimlendirin, buradan IronPDF kullanarak PDF'ye dönüştürebilirsiniz.

RestSharp'ta hata yönetimi için en iyi uygulamalar nelerdir?

RestSharp, yanıt durumunu kontrol etmenize ve istisnaları ele almanıza olanak tanıyan mekanizmalar sağlar. İsteğin başarılı olup olmadığını veya bir hata oluşup oluşmadığını belirlemek için ResponseStatus ve StatusCode özelliklerini inceleyebilirsiniz.

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

RestSharp, yanıtlarındaki JSON verilerini kolayca işleyebilir. System.Text.Json veya Newtonsoft.Json gibi kütüphaneler kullanarak JSON içeriğini C# nesnelerine dönüştürme yöntemleri sağlar.

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

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

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

RestSharp kullanarak bir POST isteği ile veri göndermek için yeni bir nesne oluşturmalı, bunu JSON'a dönüştürmeli ve RestRequest'in AddJsonBody yöntemi kullanarak istek gövdesine eklemelisiniz. Ardından istemci ile POST isteğini gerçekleştirin.

RestSharp, kimlik doğrulama destekliyor mu?

Evet, RestSharp, kimlik doğrulama ile istek göndermeyi destekler. Temel kimlik doğrulama için HttpBasicAuthenticator kullanmak gibi kimlik doğrulama parametrelerini RestClientOptions içine dahil edebilirsiniz.

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

IronPDF kullanarak C# uygulamanıza PDF oluşturmayı entegre edebilirsiniz. HTML içeriği, URL'leri veya HTML dosyalarını PDF'lere dönüştürerek raporlar, belgeler veya faturaları doğrudan uygulama içinde üretmek için kullanışlıdır.

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Chief Technology Officer

Jacob Mellor, Iron Software'in Teknoloji Müdürü ve C# PDF teknolojisinin öncüsü olan vizyoner bir mühendis. Iron Software’in temel kod tabanının ilk geliştiricisi olarak, şirketin ürün mimarisini kuruluşundan bu yana şekillendirdi ve CEO Cameron Rimington ile birlikte NASA, Tesla ve ...

Daha Fazlasını Oku

Iron Destek Ekibi

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