Aula 03 - Ligando as pontas, refatoração e orientação a objetos

Links, dicas e notas de aula

Boas-vindas à terceira aula da Imersão Java!

Chegou o momento de pegarmos os filmes do IMDb e gerar figurinhas com os pôsteres, aproveitando para melhorar nosso código com as refatorações necessárias para torná-lo mais flexível e fácil de entender.

Código da Aula

Clique aqui para acessar o código da aula.

Notion Guia do Mergulho

Para te ajudar durante as aulas, criamos um notion exclusivo da Imersão Java! Com dicas de como se preparar para a Imersão, conteúdos relacionados ao tema, calendário para você ficar por dentro de tudo que vai rolar nessa edição e muito mais.

Desafios

  1. Transformar a classe que representa os conteúdos em um Record, disponível a partir do Java 16. Confira a resolução do desafio aqui!
  2. Criar as suas próprias exceções e usá-las na classe que implementa o cliente HTTP. Confira a resolução do desafio aqui!
  3. Usar recursos do Java 8 e posterior, como Streams e Lambdas, para mapear uma lista em uma outra. Confira a resolução do desafio aqui!
  4. Criar uma Enum que une, como configurações, a URL da API e o extrator utilizado. Confira a resolução do desafio aqui!

Material complementar

Instabilidade das APIs

Instabilidade da API do IMDb

Caso a API do IMDb esteja instável ou fora do ar, você pode utilizar os seguintes endereços alternativos:

Para utilizar os endereços alternativos, troque a URL da aula por uma das novas URLs:

// fazer uma conexão HTTP e buscar os top 250 filmes
// String url = "https://imdb-api.com/en/API/Top250Movies/k_0ojt0yvm";
String url = "https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/TopMovies.json"; // usando endereço alternativo

Instabilidade da API da NASA 🌌

Caso a API da NASA fique instável, use as seguintes URLs, que terão os mesmos dados usados na aula:

Além disso, deixamos uma URLs com imagens fantásticas do James Webb Space Telescope, como o primeiro deep field desse fantástico telescópio! TOPZERA! 🌠 ☄️ 🚀 🛰️ 🔭 🌌

Para utilizar os endereços alternativos da NASA APOD, troque a URL da aula por uma das novas URLs:

// String url = "https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&start_date=2022-06-12&end_date=2022-06-14";
String url = "https://raw.githubusercontent.com/alura-cursos/imersao-java-2-api/main/NASA-APOD.json";
ExtratorDeConteudo extrator = new ExtratorDeConteudoDaNasa();

Divulgue seu projeto

Mostre seu projeto para o mundo compartilhando no LinkedIn e Instagram! Marque a Alura (@AluraOnline) e o Paulo (@paulo_hipster). Vamos adorar ver seus projetos e acompanhar sua evolução! Lembre-se de utilizar a hashtag #ImersaoJava para seu projeto ter ainda mais alcance.

Ah, e não esqueça de colocar a tag ImersaoJava dentro do seu projeto no GitHub. É só clicar na engrenagem que aparece na seção About e colocar a tag ImersaoJava dentro do campo Topics. Queremos ver seu portfólio!

Discord

Participe do Discord para tirar suas dúvidas e conhecer outras pessoas que estão mergulhando em Java junto com você! Clique aquipara entrar.

Quem são nossos mergulhadores?

Instrutores e Instrutoras da Alura nessa imersão

  • Jacqueline Oliveira

    Jacqueline Oliveira

    Engenheira de Software e instrutora na Alura. É formada em Ciência da Computação e pós-graduada em Arquitetura e Engenharia de Software.

  • Alexandre Aquiles

    Alexandre Aquiles

    Líder Técnico e instrutor na Alura. Formado em Engenharia da Computação pela Unicamp, programa em Java desde 2005 e ensina programação desde 2013. Co-autor do livro "Controlando versões com Git e GitHub" e autor do livro "Desbravando SOLID".

  • Paulo Silveira

    Paulo Silveira

    Co-fundador e CEO da Alura. É bacharel em Ciência da Computação e Mestre pela USP em Geometria computacional.

LIVES DESTA IMERSÃO!

Reveja tudo que aconteceu
durante as lives