public async Task <RankingNomeModel> GetRankingNomeAsync(QueryParameters queryParameters = null)
        {
            try
            {
                RankingNomeModel[] rankingNome;

                _logger.LogInformation("Enviando solicitação para obter listagem com ranking de nascimentos por década");

                if (!(queryParameters.Sexo is null &&
                      queryParameters.Localidade is null &&
                      queryParameters.Decada is null))
                {
                    var query = new QueryParametersBuilder()
                                .AddSexo(queryParameters.Sexo)
                                .AddLocalidade(queryParameters.Localidade)
                                .AddDecada(queryParameters.Decada)
                                .Build();

                    rankingNome = await _client
                                  .GetFromJsonAsync <RankingNomeModel[]>($"censos/nomes/ranking{query}");

                    _logger.LogInformation("Solicitação processada com êxito.");
                    return(rankingNome.FirstOrDefault());
                }

                rankingNome = await _client
                              .GetFromJsonAsync <RankingNomeModel[]>($"censos/nomes/ranking");

                _logger.LogInformation("Solicitação processada com êxito.");
                return(rankingNome.FirstOrDefault());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                throw;
            }
            finally
            {
                _client.Dispose();
            }
        }
        public async Task <FrequenciaNomeModel> GetFrequenciaNomeAsync(string nome, QueryParameters queryParameters = null)
        {
            try
            {
                FrequenciaNomeModel[] frequenciaNome;

                _logger.LogInformation("Enviando solicitação para obter listagem com frequência de nascimentos por década do nome {0}", nome);

                if (!(queryParameters.Sexo is null && queryParameters.Localidade is null))
                {
                    var query = new QueryParametersBuilder()
                                .AddSexo(queryParameters.Sexo)
                                .AddLocalidade(queryParameters.Localidade)
                                .Build();

                    frequenciaNome = await _client
                                     .GetFromJsonAsync <FrequenciaNomeModel[]>($"censos/nomes/{nome}{query}");

                    _logger.LogInformation("Solicitação processada com êxito.");
                    return(frequenciaNome.FirstOrDefault());
                }

                frequenciaNome = await _client
                                 .GetFromJsonAsync <FrequenciaNomeModel[]>($"censos/nomes/{nome}");

                _logger.LogInformation("Solicitação processada com êxito.");
                return(frequenciaNome.FirstOrDefault());
            }
            catch (Exception ex)
            {
                _logger.LogError(ex, ex.Message);
                throw;
            }
            finally
            {
                _client.Dispose();
            }
        }