Novidades do .NET 5: melhorias em HttpClient simplificando o consumo de APIs REST

Renato Groffe
2 min readSep 21, 2020

--

Há alguns dias (mais precisamente em 13/09, um domingo) tivemos o anúncio de que foi disponibilizado o Release Candidate 1 do .NET 5:

Dentre os diversos itens listados nesta postagem do blog oficial da plataforma .NET, uma novidade acabou por me chamar bastante a atenção: a possibilidade de uso com a classe HttpClient dos Extensions Methods GetFromJsonAsync, PostAsJsonAsync e PutAsJsonAsync, funcionalidades estas declaradas no namespace System.Net.Http.Json e concebidas com o objetivo de simplificar a interação com APIs REST a partir de código .NET.

Todos aqueles familiarizados com a classe HttpClient reconhecem, quase que invariavelmente, a verbosidade em termos de código de ações simples como o envio de uma requisição HTTP do tipo GET para consumir uma API REST.

O exemplo a seguir com a classe ResultadoContador ilustra bem este ponto:

A tentativa de se consumir uma API REST que exponha um endpoint retornado os dados representando por ResultadoContador e empregando recursos do namespace System.Text.Json produzirá um código similar ao da próxima listagem:

Utilizando o método GetFromJsonAsync (namespace System.Net.Http.Json) podemos simplificar em muito a comunicação com tal API, obtendo assim um código bem mais enxuto:

  • A instanciação de um objeto do tipo JsonSerializerOptions não será mais necessária;
  • Ao invocar o método GetFromJsonAsync substituímos a chamada a GetAsync e a diversos outros métodos e propriedades em sequência (processo este que se encerrava com a consequente deserialização do objeto via JsonSerializer.Deserialize).

A imagem a seguir traz o resultado da execução deste último código:

--

--

Renato Groffe
Renato Groffe

Written by Renato Groffe

Microsoft Most Valuable Professional (MVP), Multi-Plataform Technical Audience Contributor (MTAC), Software Engineer, Technical Writer and Speaker

Responses (1)