usuario
String nomeDeUsuario;
String apelido;
int id;
int seguidores;
int seguindo;
String usuarioTwitter;
int repositoriosPublicos;
String localizacao;
String email;
public Usuario(UsuariosRecord u){
this.nomeDeUsuario=u.login();
this.apelido= u.name();
this.id=Integer.valueOf(u.id());
this.seguidores=Integer.valueOf(u.followers());
this.seguindo=Integer.valueOf(u.following());
this.usuarioTwitter=u.twitter_username();
this.repositoriosPublicos=Integer.valueOf(u.public_repos());
this.localizacao=u.location();
this.email=u.email();
}
@Override
public String toString() {
return "Usuario: "+nomeDeUsuario+
"\nApelido: "+apelido+
"\nID: "+id+"\nRepositórios públicos: "+repositoriosPublicos+
"\nSeguidores: "+seguidores +" Seguidores: "+seguidores+
"\nUsuário do twitter: "+usuarioTwitter
+"\nEmail: "+email+"\nLocalização: "+localizacao;
}
Record
public record UsuariosRecord(String login, String id, String name, String followers,
String following , String twitter_username,
String public_repos, String location,String email) {}
Connecta
private String endereco;
private String usuario;
public Conecta(String endereco, String usuario) throws IOException, InterruptedException {
this.endereco = endereco;
this.usuario = usuario;
try {
HttpClient cliente = HttpClient.newHttpClient();
HttpRequest requisicao = HttpRequest.newBuilder().uri(
URI.create(endereco)).build();
HttpResponse<String> resposta = cliente.send(
requisicao, HttpResponse.BodyHandlers.ofString());
Gson gson = new Gson();
String json = resposta.body();
if (resposta.statusCode() == 200) {
UsuariosRecord usuariosRecord = gson.fromJson(json, UsuariosRecord.class);
Usuario usuario1 = new Usuario(usuariosRecord);
System.out.println(usuario1);
} else {
throw new ErroConsultaGitHubException("usuario não encontrado");
}
}
catch (NumberFormatException e){
System.out.println("erro: "+e);
}catch (ErroConsultaGitHubException e){
System.out.println("erro: "+e.getMensagem());
}
}
Main
Scanner scanner=new Scanner(System.in);
System.out.println("digite o nome de usuario: ");
String usuario= scanner.nextLine();
String endereco="https://api.github.com/users/"+
usuario.replace(" ","-");
Conecta conecta=new Conecta(endereco,usuario);