DEV Community

Juarez Júnior
Juarez Júnior

Posted on

Construção de URLs e Chamadas HTTP Simplificadas com Flurl

O Flurl é uma biblioteca para construção de URLs e realização de chamadas HTTP de forma fluente e elegante. Ele permite criar URLs, adicionar parâmetros de consulta, headers, e realizar chamadas HTTP com uma API fluente e expressiva. Além disso, o Flurl facilita a serialização e deserialização de objetos JSON, tornando-o ideal para integrar APIs REST. Neste exemplo, vamos usar o Flurl para fazer uma requisição GET e deserializar a resposta JSON.

Bibliotecas:

Para usar a biblioteca Flurl, instale os seguintes pacotes NuGet no seu projeto:

Install-Package Flurl.Http
Enter fullscreen mode Exit fullscreen mode

Código de Exemplo:

using Flurl.Http;
using System;
using System.Threading.Tasks;

namespace FlurlExemplo
{
    class Program
    {
        static async Task Main(string[] args)
        {
            // Fazendo uma requisição GET usando Flurl
            var post = await "https://jsonplaceholder.typicode.com/posts/1"
                .GetJsonAsync<Post>();

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

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

Explicação do Código:

Neste exemplo, utilizamos o Flurl para fazer uma requisição GET diretamente para a API jsonplaceholder.typicode.com. A função GetJsonAsync() faz a requisição e automaticamente deserializa a resposta JSON em um objeto da classe Post. O código é simples e fluente, permitindo que a URL e a requisição sejam combinadas de forma limpa. O resultado é exibido no console.

Conclusão:

O Flurl facilita a construção de URLs e chamadas HTTP com uma API fluente que reduz o código repetitivo. Sua integração com JSON torna o trabalho com APIs REST mais eficiente e prático, permitindo que desenvolvedores escrevam código mais limpo e legível.

Código fonte: GitHub

Top comments (0)