olá não consigo avançar no desafio. Preciso de ajuda se estou acessando a página da url corretamente. Já fiz o teste no postman e deu certo. Porém dá muitos erros e a Luri "disse" que pode ser a url. Por favor, poderia ver se o código está correto e a url também?
package br.com.alura.literalura.principal;
import br.com.alura.literalura.model.DadosLivros;
import br.com.alura.literalura.service.ConsumoApi;
import br.com.alura.literalura.service.ConverteDados;
import com.fasterxml.jackson.core.JsonProcessingException;
import java.util.Scanner;
public class Principal {
private final Scanner leitura = new Scanner(System.in);
public void exibeMenu() {
var opcao = -1;
while (opcao != 9) {
var menu = """
*** Catálogo de livros ***
Escolha o número de sua opção:
1- Buscar livro por título
2- Listar livros registrados
3- Listar autores registrados
4- Listar autores vivos em um determinado ano
5- Listar livros em um determinado idioma
9 - Sair
""";
System.out.println(menu);
opcao = leitura.nextInt();
leitura.nextLine();
switch (opcao) {
case 1:
buscarLivroTitulo();
break;
case 2:
listarLivros();
break;
case 3:
listarAutores();
break;
case 4:
listarAutoresVivos();
break;
case 5:
listarLivrosIdioma();
break;
case 9:
System.out.println("Encerrando a aplicação!");
break;
default:
System.out.println("Opção inválida!");
}
}
}
private void listarLivrosIdioma() {
}
private void listarAutoresVivos() {
}
private void listarAutores() {
}
private void listarLivros() {
}
private void buscarLivroTitulo() {
System.out.print("Digite o título do livro que você deseja buscar: ");
String titulo = leitura.nextLine().trim();
ConsumoApi consumoApi = new ConsumoApi();
String url = "https://gutendex.com/books?search=" + titulo;
String json = consumoApi.obterDados(url);
System.out.println(json);
DadosLivros[] livros = consumoApi.obterDados(json, DadosLivros[].class);
if (livros.length == 0) {
System.out.println("Nenhum livro encontrado para a pesquisa \"" + titulo + "\".");
return;
}
System.out.println("*** Lista de Livros ***");
for (DadosLivros livro : livros) {
System.out.println("Título: " + livro.titulo());
System.out.println("Autor: " + livro.nomeAutor());
System.out.println("Idioma: " + livro.idioma());
System.out.println("Downloads: " + livro.numeroDownloads());
System.out.println("-----------------------");
}
}
}