ATUALIZAÇÕES DO DESENVOLVEDOR

RestSharp C# (Como funciona para desenvolvedores)

Curtis Chau
Curtis Chau
Updated: 19 de julho de 2026

RestSharp é uma biblioteca .NET de código aberto popular para fazer requisições HTTP em C#. Simplifica o processo de trabalho com APIs RESTful, proporcionando uma forma direta e flexível de comunicação com serviços web. Neste artigo, exploraremos os recursos essenciais do RestSharp e do IronPDF e demonstraremos como você pode extrair dados e gerar um PDF.

Por que escolher RestSharp?

Em aplicações modernas de múltiplas camadas, diferentes serviços precisam se comunicar entre si com muita frequência, e o RestSharp oferece uma maneira simples e eficiente de fazer isso, encapsulando todas as complexidades. Isso simplifica muito o processo de desenvolvimento de software.

Instale o RestSharp

O RestSharp está disponível como um pacote NuGet e pode ser instalado em seu projeto C#. Você pode fazer isso usando o Console do Gerenciador de Pacotes NuGet ou a interface do usuário do Gerenciador de Pacotes NuGet do Visual Studio .

PM > Install-Package RestSharp

Fazendo solicitações GET simples

Vamos começar com um exemplo simples de como fazer uma requisição GET para uma API RESTful usando o RestSharp. Suponha que queremos recuperar informações de uma API pública do ASP.NET Core que retorna dados do usuário:

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

O RestSharp também oferece suporte a solicitações e respostas assíncronas usando os métodos de API assíncronos.

Tratamento de dados de resposta

O RestSharp oferece métodos convenientes para desserializar o conteúdo da resposta em objetos C#. Vamos expandir nosso exemplo para desserializar os dados de resposta JSON em uma lista de objetos de usuário:

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

Neste exemplo, definimos uma classe User com propriedades correspondentes aos campos JSON. Usamos JsonSerializer.Deserialize do namespace 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; }
}

Saída

Todos os IDs e nomes de usuário são exibidos na saída.

RestSharp C# (Como Funciona para Desenvolvedores): Figura 1 - Saída do Console exibindo todos os IDs e Nomes de Usuários.

Todo o código está disponível no Git neste link .

Tipo de conteúdo

O RestSharp suporta o envio de solicitações com corpo em XML ou JSON. Os métodos AddJsonBody ou AddXmlBody da instância RestRequest podem ser usados para adicionar corpo JSON ou XML. O RestSharp definirá o tipo de conteúdo automaticamente. Ele processa respostas JSON ou XML automaticamente.

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

Envio de dados com solicitações POST

O RestSharp também oferece suporte ao envio de dados no corpo da solicitação, o que é comum ao criar ou atualizar recursos. Vamos modificar nosso exemplo para demonstrar uma API de requisição 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}");
            }
        }
    }
}

Neste exemplo, criamos um novo objeto User, serializamos para JSON e o incluímos no corpo da solicitação usando o método AddJsonBody. O servidor recebe os dados JSON e processa a solicitação de acordo.

Saída

RestSharp C# (Como Funciona para Desenvolvedores): Figura 2 - Saída do Console

Autenticação

O RestSharp também oferece suporte ao envio de solicitações com autenticação. O RestClientOptions pode incluir parâmetros de autenticação.

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

Aqui estamos usando a autenticação básica com o segredo do ID do cliente, que é enviado em cada solicitação.

Tratamento de erros

O RestSharp consegue lidar com erros que ocorrem durante as requisições de URL, como erros de tempo limite, autenticação ou autorização. O RestSharp não lança uma exceção se a solicitação falhar automaticamente. É necessário configurá-lo manualmente.

As seguintes configurações de tratamento de erros podem ser feitas:

  • FailOnDeserializationError: Definir esta propriedade como verdadeira fará com que o RestSharp considere falhas na desserialização como um erro e ajuste o ResponseStatus para Error de acordo.
  • ThrowOnDeserializationError: Definir essa propriedade como verdadeira instruirá o RestSharp a lançar uma exceção quando a desserialização falhar.
  • ThrowOnAnyError: Lança uma exceção se ocorrerem erros ao fazer uma solicitação ou durante a desserialização.
var restClientOptions = new RestClientOptions(url)
{
    ThrowOnAnyError = true
};
var client = new RestClient(restClientOptions);

Apresentando o IronPDF

IronPDF é uma biblioteca C# para PDF da Iron Software que auxilia na leitura e geração de documentos PDF. Ele consegue converter facilmente documentos formatados com informações de estilo para PDF. O IronPDF pode gerar PDFs facilmente a partir de conteúdo HTML; Ele pode baixar o HTML de um URL e, em seguida, gerar PDFs.

Uma das principais funcionalidades do IronPDF é a conversão de HTML para PDF , preservando todos os seus layouts e estilos. Ele converte conteúdo da web em PDFs, sendo ideal para relatórios, faturas e documentação. Arquivos HTML, URLs e strings HTML podem ser facilmente convertidos em PDFs.

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

Instale a biblioteca IronPDF.

Para integrar o IronPDF ao seu projeto Selenium RestSharp usando o gerenciador de pacotes NuGet , siga estas etapas:

  1. Abra o Visual Studio e, no Solution Explorer, clique com o botão direito do mouse no seu projeto.
  2. Selecione "Gerenciar pacotes NuGet ..." no menu de contexto.
  3. Vá para a aba Procurar e pesquise por IronPDF.
  4. Selecione a biblioteca IronPDF nos resultados da pesquisa e clique no botão Instalar.
  5. Aceite qualquer solicitação de contrato de licença.

Se você deseja incluir o IronPDF em seu projeto por meio do Console do Gerenciador de Pacotes, execute o seguinte comando no Console do Gerenciador de Pacotes:

PM > Install-Package IronPdf

Ele irá buscar e instalar o IronPDF no seu projeto.

Instalar usando o site do NuGet

Para obter uma visão geral detalhada do IronPDF, incluindo seus recursos, compatibilidade e opções adicionais de download, visite a página do IronPDF no site do NuGet emhttps://www.nuget.org/packages/IronPdf .

Instalar via DLL

Alternativamente, você pode incorporar o IronPDF diretamente em seu projeto usando o arquivo DLL. Baixe o arquivo ZIP contendo a DLL na página de downloads do IronPDF . Descompacte o arquivo e inclua a DLL no seu projeto.

Agora vamos obter todos os usuários e gerar um relatório em PDF usando uma string HTML e o gerador 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;
        }
    }
}

O código completo pode ser encontrado no Git neste link .

Aqui, primeiro geramos uma string HTML a partir da lista de usuários com toda a formatação necessária para os relatórios. Em seguida, usamos o IronPDF para gerar um documento PDF. Usamos o método RenderHtmlAsPdf para converter a string HTML em um documento PDF. O documento gerado é o seguinte:

RestSharp C# (Como Funciona para Desenvolvedores): Figura 4 - Saída PDF

O documento contém uma pequena marca d'água referente a licenças de avaliação, a qual pode ser removida com uma licença válida.

Licenciamento (Teste Gratuito Disponível)

Para que o código acima funcione, é necessária uma chave de licença. Esta chave precisa ser colocada em appsettings.json da seguinte forma:

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

Uma licença de avaliação está disponível para desenvolvedores após o cadastro, e nenhum cartão de crédito é necessário para obtê-la. É possível fornecer o endereço de e-mail e se inscrever para um teste gratuito.

Conclusão

A biblioteca RestSharp simplifica o processo de trabalho com APIs RESTful em C#, fornecendo uma maneira limpa e eficiente de fazer solicitações HTTP e lidar com respostas. Quer você esteja recuperando dados com solicitações GET ou enviando dados com solicitações POST, a API intuitiva e os recursos convenientes do RestSharp o tornam uma ferramenta valiosa para desenvolvedores que criam aplicativos que interagem com serviços da web.

O IronPDF oferece uma solução flexível e fácil de usar para gerar PDFs. Para obter informações adicionais sobre os diversos recursos do IronPDF , visite a página de documentação do IronPDF .

As licenças perpétuas do IronPDF ajudarão você a aprimorar suas habilidades de programação e a atender aos requisitos de aplicativos modernos.

Conhecer tanto o RestSharp quanto o IronPDF agrega grandes habilidades, permitindo que os desenvolvedores criem aplicativos modernos.

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais bem estruturados e visualmente atraentes.

Leia mais

Artigos relacionados