Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Erros em DadosSerie

Boa tarde. Estou com o mesmo problema reportado aqui poelos colegas dois meses atrás. Os instrutores ainda não responderam?

5 respostas

Oi Nemézio, como vai?

Poderia fornecer mais informações sobre o problema que está enfrentando? Se puder, inclua o código ou um print do erro gerado. Isso me permitirá ajudar de forma mais precisa.

Fico no aguardo e à disposição

Bom dia.

O código é este (o mesmo definidio pelas instruturoas):

package br.com.alura.screenmatch.principal;

import br.com.alura.screenmatch.model.DadosSerie;
import br.com.alura.screenmatch.model.DadosTemporada;
import br.com.alura.screenmatch.service.ConsumoApi;
import br.com.alura.screenmatch.service.ConverteDados;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;



public class Principal {

    private ConsumoApi consumo = new ConsumoApi();
    private ConverteDados conversor = new ConverteDados();
    private Scanner leitura = new Scanner(System.in);
    private final String ENDERECO = "https://www.omdbapi.com/?t=";
    private final String API_KEY = "&apikey=20d8f380";
    public void exibeMenu(){
        System.out.println("Digite o nome da série para a busca");
        var nomeSerie = leitura.nextLine();
        var json = consumo.obterDados(ENDERECO + nomeSerie.replace(" ", "+") + API_KEY);
        DadosSerie dados = conversor.obterDados(json, DadosSerie.class);
        System.out.println(dados);

        List<DadosTemporada> temporadas = new ArrayList<>();
        for (int i = 1; i<=dados.totalTemporadas(); i++) {
            json = consumo.obterDados(ENDERECO + nomeSerie.replace(" ", "+&season=") + i + API_KEY);
            DadosTemporada dadosTemporada = conversor.obterDados(json, DadosTemporada.class);
            temporadas.add(dadosTemporada);


        }

        temporadas.forEach(System.out::println);



    }
}

A saída é esta:

Digite o nome da série para a busca
never have i ever 
DadosSerie[titulo=Never Have I Ever, totalTemporadas=4, avaliacao=7.9]
DadosTemporada[numero=null, episodios=null]
DadosTemporada[numero=null, episodios=null]
DadosTemporada[numero=null, episodios=null]
DadosTemporada[numero=null, episodios=null]
Disconnected from the target VM, address: '127.0.0.1:60780', transport: 'socket'

Process finished with exit code 0
solução!

Olá! Tudo bem, Nemézio?

Analisei e consegui identificar o erro que está gerando esse comportamento. Note que no momento de obter os dados através da variável JSON nos parâmetros de obterDados, você coloca o + junto com o &season= ("+&season="), quando na verdade eles são separados.

O código correto ficaria assim:

json = consumo.obterDados(ENDERECO + nomeSerie.replace(" ", "+") +"&season=" + i + API_KEY);

Espero ter ajudado.

Caso surja alguma dúvida, é só compartilhar no fórum.

Abraços e até mais!

Obrigado, Monalisa.

Mas notou que essa é uma reclamação recorrente? Sugiro que as janelas nas quais as instrutoras aparecem sejam móveis porque quase sempre estão em cima do código, o que e atrapalha a visualização das linhas.

Att.,

Boa tarde pessoal, tive o mesmo problema q o colega postou no forum.Felizmente consegui consertar, mas realmente as janelas das professoras estão atrapalhando a visualização do codigo.