Tive bastante dificuldade nesse exercício , acho q pensei coisas mais complexas do que o exigido pelo exercicio, dai me perdia, ainda to me adaptando a isso.
package GitHub;
public class ErroConsultaGitException extends RuntimeException {
public ErroConsultaGitException(String mensagem) {
super(mensagem);
}
}
package GitHub;
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 GitHub {
public static void main(String[] args) {
Scanner leitura = new Scanner(System.in);
System.out.println("\n-------------Consulta GitHub-----------");
System.out.println("\nDigite o nome de usuário do GitHub: ");
String usuario = leitura.nextLine();
String endereco = "https://api.github.com/users/" +usuario;
try {
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create(endereco))
.header("Accept", "application/vnd.github.v3+json")
.build();
HttpResponse<String> response = client
.send(request, HttpResponse.BodyHandlers.ofString());
if(response.statusCode()==404) {
throw new ErroConsultaGitException("Usuário não encontrado no GitHub");
}
String json = response.body();
System.out.println(json);
}catch (IOException | InterruptedException e) {
System.out.println("Ocorreu um erro durante a consulta a API do GitHub.");
e.printStackTrace();
}catch (ErroConsultaGitException e) {
System.out.println(e.getMessage());
}
}
}