IRONSOFTWAREHOME
AKTUALNOŚCI DLA PROGRAMISTÓW

RestSharp C# (jak to działa dla programistów)

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Jacob Mellor
Updated: 19 lipca 2026

RestSharp to popularna open-source biblioteka .NET do wykonywania żądań HTTP w C#. Upraszcza proces pracy z API RESTful, zapewniając prosty i elastyczny sposób komunikacji z usługami webowymi. W tym artykułe omówimy kluczowe funkcje RestSharp i IronPDF oraz pokażemy, jak można wyodrębnić dane i wygenerować plik PDF.

Dlaczego RestSharp?

W nowoczesnych aplikacjach wielowarstwowych różne usługi muszą bardzo często komunikować się ze sobą, a RestSharp oferuje prosty i wydajny sposób, hermetyzując wszystkie złożone procesy. To znacznie upraszcza proces tworzenia oprogramowania.

Zainstaluj RestSharp

RestSharp jest dostępny jako pakiet NuGet i można go zainstalować w projekcie C#. Można to zrobić za pomocą konsoli NuGet Package Manager Console lub interfejsu użytkownika Visual Studio NuGet Package Manager.

PM > Install-Package RestSharp

Wysyłanie prostych żądań GET

Zacznijmy od prostego przykładu wysłania żądania GET do interfejsu API RESTful przy użyciu RestSharp. Załóżmy, że chcemy pobrać informacje z publicznego interfejsu API ASP.NET Core, który zwraca dane użytkownika:

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 obsługuje również żądania i odpowiedzi asynchroniczne przy użyciu metod API async.

Obsługa danych odpowiedzi

RestSharp zapewnia wygodne metody deseryalizacji treści odpowiedzi do obiektów C#. Rozszerzmy nasz przykład, aby zdeserializować dane odpowiedzi JSON do listy obiektów użytkownika:

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

W tym przykladzie zdefiniowalismy klase User z wlasciwosciami odpowiadajacymi polom JSON. Uzylismy JsonSerializer.Deserialize z przestrzeni nazw System.Text.Json.

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

Wynik

Wszystkie identyfikatory użytkowników i nazwy są wyświetlane w wynikach.

RestSharp C# (Jak to dziala dla dewelopera): Rysunek 1 - Konsolowy output wyswietlajacy wszystkie ID i nazwiska uzytkownikow.

Cały kod jest dostępny w serwisie Git pod tym linkiem.

Typ treści

RestSharp obsługuje wysyłanie żądań z treścią w formacie XML lub JSON. Metody AddJsonBody lub AddXmlBody instancji RestRequest moga byc uzywane do dodawania ciala JSON lub XML. RestSharp automatycznie ustawi typ zawartości. Obsługuje automatycznie odpowiedzi JSON lub 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);

Wysyłanie danych za pomocą żądań POST

RestSharp obsługuje również wysyłanie danych w treści żądania, co jest powszechne podczas tworzenia lub aktualizowania zasobów. Zmodyfikujmy nasz przykład, aby zademonstrować API żądania POST:

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

W tym przykladzie tworzymy nowy obiekt User, serializujemy go do JSON i dolaczamy do ciala zadania uzywajac metody AddJsonBody. Serwer odbiera dane JSON i odpowiednio przetwarza żądanie.

Wynik

RestSharp C# (Jak to dziala dla dewelopera): Rysunek 2 - Konsolowy output

Uwierzytelnianie

RestSharp obsługuje również wysyłanie żądań z uwierzytelnianiem. RestClientOptions moze zawierac parametry uwierzytelniania.

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

W tym przypadku stosujemy podstawowe uwierzytelnianie za pomocą tajnego identyfikatora klienta, który jest wysyłany w każdym żądaniu.

Obsługa błędów

RestSharp może obsługiwać błędy występujące podczas żądań URL, takie jak błędy przekroczenia limitu czasu, uwierzytelniania lub autoryzacji. RestSharp nie zgłasza wyjątku, jeśli żądanie zakończy się niepowodzeniem. Należy go skonfigurować ręcznie.

Można zastosować następujące konfiguracje obsługi błędów:

  • FailOnDeserializationError: Ustawienie tej wlasciwosci na true powie RestSharp, aby traktowal nieudana deserializacje jako blad i ustawil ResponseStatus na Error zgodnie z tym.
  • ThrowOnDeserializationError: Ustawienie tej właściwości na true spowoduje, że RestSharp zgłosi błąd w przypadku niepowodzenia deseryalizacji.
  • ThrowOnAnyError: Wywołuje wyjątek, jeśli wystąpią jakiekolwiek błędy podczas wysyłania żądania lub podczas deseryalizacji.
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);

Przedstawiamy IronPDF

IronPDF to biblioteka PDF w języku C# firmy Iron Software, która pomaga odczytywać i generować dokumenty PDF. Może łatwo konwertować sformatowane dokumenty z informacjami o stylu do PDF. IronPDF może z łatwością generować pliki PDF na podstawie treści HTML; może pobrać kod HTML z adresu URL, a następnie wygenerować pliki PDF.

Kluczową funkcją IronPDF jest konwersja HTML do PDF z zachowaniem wszystkich układów i stylów. Przekształca treści internetowe w pliki PDF, dzięki czemu idealnie nadaje się do raportów, faktur i dokumentacji. Pliki HTML, adresy URL i ciągi znaków HTML można łatwo konwertować do formatu 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");
    }
}

Zainstaluj bibliotekę IronPDF

Aby zintegrować IronPDF z projektem Selenium RestSharp za pomocą menedżera pakietów NuGet, wykonaj następujące kroki:

  1. Otwórz program Visual Studio i w oknie Solution Explorer kliknij prawym przyciskiem myszy swój projekt.
  2. Wybierz "Zarządzaj pakietami NuGet..." z menu kontekstowego.
  3. Przejdź na kartę Przeglądaj i wyszukaj IronPDF.
  4. Wybierz bibliotekę IronPDF z wyników wyszukiwania i kliknij przycisk instalacji.
  5. Zaakceptuj wszelkie monity dotyczące Umowy licencyjnej.

Jeśli chcesz dołączyć IronPDF do swojego projektu za pomocą konsoli menedżera pakietów, wykonaj następujące polecenie w konsoli menedżera pakietów:

PM > Install-Package IronPdf

Pobierze i zainstaluje IronPDF w Twoim projekcie.

Instalacja za pomocą NuGet Strona internetowa

Aby uzyskać szczegółowy przegląd IronPDF, w tym jego funkcje, zgodność i dodatkowe opcje pobierania, odwiedź stronę IronPDF na stronie NuGet pod adresem https://www.nuget.org/packages/IronPdf.

Instalacja za pomocą biblioteki DLL

Alternatywnie można włączyć IronPDF bezpośrednio do swojego projektu, korzystając z pliku DLL. Pobierz plik ZIP zawierający bibliotekę DLL z sekcji Pobieranie IronPDF. Rozpakuj plik i dołącz bibliotekę DLL do swojego projektu.

Teraz pobierzemy wszystkich użytkowników i wygenerujemy raport PDF przy użyciu ciągu HTML oraz generatora IronPDF.

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

Cały kod można znaleźć w serwisie Git pod tym linkiem.

W tym miejscu najpierw generujemy ciąg HTML z listy użytkowników, zawierający całe formatowanie wymagane dla raportów. Następnie używamy IronPDF do wygenerowania dokumentu PDF. Uzywamy metody RenderHtmlAsPdf do konwersji lancucha HTML na dokument PDF. Wygenerowany dokument wygląda następująco:

RestSharp C# (Jak to dziala dla dewelopera): Rysunek 4 - Output PDF

Dokument zawiera niewielki znak wodny dotyczący licencji Trial, który można usunąć za pomocą ważnej licencji.

Licencjonowanie (dostępna bezpłatna wersja próbna)

Aby powyższy kod działał, wymagany jest klucz licencyjny. Ten klucz nalezy umiescic w appsettings.json nastepujaco:

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

Po rejestracji programiści mogą uzyskać Licencję Trial, która nie wymaga podania danych karty kredytowej. Można podać swój adres e-mail i zarejestrować się, aby skorzystać z bezpłatnej wersji próbnej.

Wnioski

Biblioteka RestSharp upraszcza proces pracy z interfejsami API RESTful w języku C#, zapewniając przejrzysty i wydajny sposób wysyłania żądań HTTP oraz obsługi odpowiedzi. Niezależnie od tego, czy pobierasz dane za pomocą żądań GET, czy wysyłasz dane za pomocą żądań POST, intuicyjny interfejs API i wygodne funkcje RestSharp sprawiają, że jest to cenne narzędzie dla programistów tworzących aplikacje współpracujące z usługami internetowymi.

IronPDF zapewnia elastyczne i łatwe w użyciu rozwiązanie do generowania plików PDF. Aby uzyskać dodatkowe informacje na temat różnych funkcji IronPDF, odwiedź stronę dokumentacji IronPDF.

Licencje wieczyste IronPDF pomogą Ci poprawić umiejętności kodowania i spełnić wymagania nowoczesnych aplikacji.

Znajomość zarówno RestSharp, jak i IronPDF stanowi ogromny atut, umożliwiający programistom tworzenie nowoczesnych aplikacji.

Jacob Mellor, Dyrektor Technologiczny @ Team Iron
Dyrektor ds. technologii

Jacob Mellor jest Chief Technology Officer w Iron Software i wizjonerskim inżynierem, pionierem technologii C# PDF. Jako pierwotny deweloper głównej bazy kodowej Iron Software, kształtuje architekturę produktów firmy od jej początku, przekształcając ją wspólnie z CEO Cameron Rimington w firmę liczącą ponad 50 osób, obsługującą NASA, Teslę i światowe agencje rządowe.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta