Pelo que foi apresentado no vídeo, eu direcionei uma abordagem um pouco diferente. Primeiro que na classe Principal em vez de criar uma condição para receber o que foi digitado, eu simplesmente pego o que foi inputado na interação e coloco na URL
Acho que na parte de modelos eu fiz um caminho muito longo kkk em vez de declarar a classe dadosModelo como lista, eu criei uma chamada responseModelo que recebe a lista, que volta que dei :(
Outro ponto é que eu tratei todas as listas que criei
Por exemplo:
var opcao = leitura.nextLine();
var json =consumo.obterDados(ENDERECO + opcao + "/marcas");
Outra diferença que notei no meu código é que a cada step da API eu armazenava na classe somente os dados do response JSONe armazenava em uma lista. No fim usei expressão lambda em vez do for para retornar os dados de cada ano
Segue meu codigo no git
https://github.com/caiobilo/TabelaFIPE.git
Exemplo response:
===== Ano: 2010-5 =====
Valor: R$ 22.376,00
Marca: Ford
Modelo: Fiesta TRAIL 1.0 8V Flex 5p
Ano Modelo: 2010
Combustível: Flex
Código FIPE: 003322-7
Mês Referência: dezembro de 2025
===== Ano: 2009-5 =====
Valor: R$ 20.751,00
Marca: Ford
Modelo: Fiesta TRAIL 1.0 8V Flex 5p
Ano Modelo: 2009
Combustível: Flex
Código FIPE: 003322-7
Mês Referência: dezembro de 2025
===== Ano: 2008-5 =====
Valor: R$ 20.244,00
Marca: Ford
Modelo: Fiesta TRAIL 1.0 8V Flex 5p
Ano Modelo: 2008
Combustível: Flex
Código FIPE: 003322-7
Mês Referência: dezembro de 2025
Process finished with exit code 0