IRONSOFTWAREHOME
GELIŞTIRICI GÜNCELLEMELERI

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

Jacob Mellor, Teknoloji Direktörü @ Team Iron
Jacob Mellor
Updated: 19 Temmuz 2026

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.

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

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

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

Çı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);

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

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

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

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

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:

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

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"
}
JSON

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.

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 ve NASA, Tesla ve dünya genelindeki devlet kurumlarına hizmet etmektedir.

...
Daha Fazla Oku

İlgili Makaleler

Key in blue circle

Ücretsiz 30 günlük Deneme Anahtarınızı anında edinin.

Your trial license will be sent to your email address

Herhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.

bullet_checkedKredi kartı veya hesap oluşturma gerektirmezHerhangi bir sınırlama yoktur. %100 erişim. Kredi kartı gerekmez.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Ücretsiz Canlı Demo rezervasyonu yapın
Booking Badge

Dünya Çapında Milyonlarca Mühendisin Güvendiği

Iron Software müşteri logoları
Bağımsız Danışmanlık Alın
Aşağıdaki formu doldurun veya sales@ironsoftware.com adresine e-posta gönderin
Bilgileriniz daima gizli kalacaktır.
Dünya Çapında Milyonlarca Mühendisin Güvendiği
Iron Software müşteri logoları
Ücretsiz 30 Günlük Deneme Anahtarınızı anında alın.
Kredi kartı veya hesap oluşturma gerektirmez