Skip to content

Instantly share code, notes, and snippets.

@steppat
Last active December 10, 2024 01:10
Show Gist options
  • Save steppat/d6fc9a8fa90f0c4e5f6bbf23c3e5d89e to your computer and use it in GitHub Desktop.
Save steppat/d6fc9a8fa90f0c4e5f6bbf23c3e5d89e to your computer and use it in GitHub Desktop.
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
class SevenDaysOfCodeJavaDay1 {
public static void main(String[] args) throws Exception {
String apiKey = "<sua chave>";
URI apiIMDB = URI.create("https://imdb-api.com/en/API/Top250TVs/" + apiKey);
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder().uri(apiIMDB).build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
String json = response.body();
System.out.println("Resposta: " + json);
}
}
@twellv
Copy link

twellv commented Mar 27, 2023

To com 2 problemas aqui, o primeiro que o site ta dando ''acesso negado'' e o segundo é que não consigo fazer o import do pacote java.net.
E consequentemente não tenho como utilizar os httpRequest / Response. Acredito que isso esteja acontecendo por estar usando um projeto srping boot, logo vou ter que chamar o Request/Response de uma outra forma. Caso não seja esse o problema vou dar uma olhadinha na versão do meu java.
Mas no geral ta indo tudo na paz ^_^
Boa sorte a todos =)

@paulocpavan
Copy link

O meu só imprimi o primeiro filme no console, mas qdo olho o response.body o arquivo está completo...Não sei pq não imprimiu tudo..
import com.google.gson.FieldNamingPolicy;
import com.google.gson.Gson;
import com.google.gson.GsonBuilder;

import java.io.IOException;
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.util.Scanner;

public class Main {
public static void main(String[] args) throws IOException, InterruptedException {

    String apiKey = "k_th634hsu";


    try {

    String sUrl = "https://imdb-api.com/en/API/Top250Movies/" + apiKey;

    HttpClient cliente = HttpClient.newHttpClient();
    HttpRequest request = HttpRequest.newBuilder()
            .uri(URI.create(sUrl))
            .build();
    HttpResponse<String> response = cliente
            .send(request, HttpResponse.BodyHandlers.ofString());

    String json = response.body();

        System.out.println(json);

    } catch (IOException e) {
        System.out.println(e.getMessage());
    }
}

}

@jmsmarcelo
Copy link

IMDB API não disponibiliza a apiKey gratuita para testes:
image

@DevSerOCaco
Copy link

DevSerOCaco commented Aug 2, 2023

Pessoal, a api do desafio hoje é paga.
Estou usando essa para fazer o desafio. Gratuita e muito bem documentada.
https://developer.themoviedb.org/docs

@mvteus
Copy link

mvteus commented Sep 22, 2023

Pessoal, a api do desafio hoje é paga. Estou usando essa para fazer o desafio. Gratuita e muito bem documentada. https://developer.themoviedb.org/docs

Obrigadão!

@CaiquePiazzaroli
Copy link

CaiquePiazzaroli commented Jul 30, 2024

Gente, usei a Api que o pessoal mandou nos comentários acima: https://developer.themoviedb.org/docs
Para quem estiver tendo dificuldades de conectar na API, cheguei a fazer, caso queiram dar uma olhada.
Meu repositório: https://github.com/CaiquePiazzaroli/7Days-To-Code.git
`
public class ApiTmdbClient {

private String apiUrl;
private HttpClient client;
private HttpRequest request;
private HttpResponse<String> response;
private String json;

//TBDB api connection
public ApiTmdbClient(String token, String apiUrl) throws URISyntaxException, IOException, InterruptedException {

    //Criando o cliente
    this.apiUrl = apiUrl;
    this.client = HttpClient.newBuilder().build();

    //Criando o request
    this.request =  newBuilder()
            .uri(new URI(this.apiUrl))
            .header("Authorization", "Bearer " + token)
            .GET()
            .build();

    //Criando a response
    this.response = client.send(request, HttpResponse.BodyHandlers.ofString());
    this.json = this.response.body();
}

public String getJson() {
    return json;
}`

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment