programandoai

Desafio final

Duas peças de lógica pura do buscador, sozinhas e testáveis: montar a URL de busca e interpretar o formato da resposta, sem depender de nenhuma rede de verdade.

Estudar esta lição interativa →

As duas decisões mais importantes do buscador, sem precisar de nenhum fetch de verdade para testá-las: montarUrlBusca(cepDigitado), que limpa o CEP e devolve a URL completa da ViaCEP (ou null, se o CEP for inválido), e interpretarResposta(dados), que recebe o objeto já convertido de .json() e devolve o texto "erro" ou "sucesso" conforme o formato da resposta. Lembre-se de que, na API de verdade, o erro chega como { "erro": "true" }, com o true entre aspas.

Complete montarUrlBusca(cepDigitado) (limpa o CEP, devolve a URL da ViaCEP ou null se inválido) e interpretarResposta(dados) (devolve "erro" se a resposta tiver a propriedade erro com valor verdadeiro, como o texto "true" que a ViaCEP manda, senão "sucesso").
function montarUrlBusca(cepDigitado) {
  // dica: remova tudo que não for dígito com .replace(/\D/g, "") (o g remove todos, não só o primeiro)
  // se o resultado não tiver exatamente 8 dígitos, devolva null
  // senão, devolva "https://viacep.com.br/ws/" + cep + "/json/"
}

function interpretarResposta(dados) {
  // dica: a ViaCEP manda { erro: "true" }, com o true como TEXTO; confira se dados.erro existe
}

🧩 Este é um exercício com correção automática — abra no app para completá-lo e verificar.

← Voltar ao índice do curso