DEV Community

Juarez Júnior for Develop4Us

Posted on • Edited on

1

Chamadas HTTP mais Simples com Refit

O Refit é uma biblioteca de código aberto para .NET que simplifica a criação de chamadas HTTP baseadas em REST. Ele gera automaticamente clientes HTTP a partir de interfaces, tornando as chamadas a APIs REST muito mais fáceis e limpas. O Refit também lida com serialização e deserialização de JSON e permite adicionar headers e parâmetros de forma simples. Neste exemplo, veremos como configurar o Refit para realizar uma requisição GET e obter dados de uma API.

Bibliotecas:

Para usar a biblioteca Refit, instale o seguinte pacote NuGet no seu projeto:

Install-Package Refit
Enter fullscreen mode Exit fullscreen mode

Código de Exemplo:

using Refit;
using System;
using System.Threading.Tasks;

namespace RefitExemplo
{
    // Definindo a interface que representa a API
    public interface IJsonPlaceholderApi
    {
        [Get("/posts/{id}")]
        Task<Post> GetPostAsync(int id);
    }

    // Classe para mapear a resposta
    public class Post
    {
        public int Id { get; set; }
        public string Title { get; set; }
        public string Body { get; set; }
    }

    class Program
    {
        static async Task Main(string[] args)
        {
            // Criando o cliente da API usando Refit
            var apiClient = RestService.For<IJsonPlaceholderApi>("https://jsonplaceholder.typicode.com");

            // Fazendo uma requisição GET para obter um post
            var post = await apiClient.GetPostAsync(1);

            // Exibindo os dados no console
            Console.WriteLine($"Título: {post.Title}\nConteúdo: {post.Body}");
        }
    }
}
Enter fullscreen mode Exit fullscreen mode

Explicação do Código:

Neste exemplo, utilizamos o Refit para definir uma interface que representa a API jsonplaceholder.typicode.com. A interface IJsonPlaceholderApi define um método GetPostAsync que faz uma chamada GET para o endpoint /posts/{id}. O Refit cuida de criar automaticamente o cliente HTTP e realizar a chamada. No método Main, instanciamos o cliente da API com RestService.For, fazemos uma requisição GET para obter os dados de um post e exibimos os resultados no console.

Conclusão:

O Refit torna as chamadas HTTP mais simples e intuitivas, eliminando a necessidade de escrever código repetitivo para lidar com requisições. Ele facilita a integração com APIs REST, oferecendo uma abordagem orientada a interfaces que melhora a legibilidade e manutenção do código.

Código fonte: GitHub

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up

Top comments (1)

Collapse
 
leandroats profile image
Leandro Torres

Bom artigo! Obrigado por compartilhar 👊

Eu só acrescentaria que o Refit é amplamente compatível com todos os "sabores" do .Net

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay