Como fazer um aplicativo de desktop consumir uma API em java?

13 respostas
javadesktopprogramação
Ramon_Jales

Eu gostaria de criar um aplicativo para pc, que necessitaria de consumir uma API. Como eu poderia consumir essa API em java, sendo que não estou usando java web(não sei se isso tem importância)?

13 Respostas

wldomiciano

Não tem segredo, basta vc enviar requisições para esta API e pronto.

Para enviar requisições HTTP vc vai usar a classe HttpURLConnection.

Ou, se vc estiver usando o Java 11 ou mais recente, pode usar a nova API. Veja um exemplo consumindo a PokeAPI:

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

public class Program {
  public static void main(String... args) throws IOException, InterruptedException {
    final var client = HttpClient.newHttpClient();

    final var request = HttpRequest.newBuilder(URI.create("https://pokeapi.co/api/v2/pokemon/ditto")).build();

    final var result = client.send(request, BodyHandlers.ofString());

    System.out.println(result.body());
  }
}

Para ver mais sobre a nova API, eu recomendo estes vídeos:

Junto com isso, muito provavelmente vc vai querer usar alguma biblioteca como o Jackson que vai te ajudar a mappear as respostas das requisições para classes Java.

Além disso, vc pode usar uma outra biblioteca como a OpenFeign que vai facilitar a sua vida na hora de criar seus clientes.

davidbuzatto

Meu Deus, tá na moda esse dialeto a lá JavaScript pra declarar variáveis? Credo.

wldomiciano

Tá mais pra a lá C++, C#, Kotlin ou até TypeScript.

O ruim de usar JavaScript como referência é que pode confundir os iniciantes, fazendo-os pensar que a variável na será estaticamente tipada. Já vi javeiro experiente dizendo que “o var traz tipagem dinâmica pro Java”.

Como muuuita gente ainda usa Java 8 como referência, eu acho que ainda não virou moda.

Até o modificador final que eu gosto de usar, parece que as pessoas não usam tanto.

staroski

Isso quando não repetem dezenas de chamadas a um mesmo método sem usar uma variável local.
Depois xingam que “java é verboso”.
Risos.

davidbuzatto

Espero que nunca vire e não vou ser eu que vai contribuir com isso. Horrível.

davidbuzatto

Pelo amor… Tem coisa que só enfiam na linguagem pra ficar na moda… Esse var eu acho um puta desserviço.

staroski

Sim, se eu falar que já trabalhei em empresa onde o code review não passava se você não utilizasse var nas variáveis locais pois “usar o tipo para declarar, é muito verboso”.
Está se criando uma geração bem mimizenta.

lucashpmelo

É que daqui a 10 anos, BackEnd, FrontEnd, Desktop, Apps, Sistemas Embarcados, tudo vai ser JavaScript, então já tem que ir preparando as pessoas.

davidbuzatto

Ah tá, vai sonhando. É só um xóven hipster estalar os dedos pq gostou de uma linguagem nova e ter uma pequena legião que o apoie que tudo cai por terra. Linguagem é ferramenta e é descartável. 10 anos em computação e tecnologia é uma eternidade, muita água, muita mesmo, passa pela ponte.

davidbuzatto

Pelo amor, mas se paga boleto a gente faz, mesmo a contra gosto né :rofl:

Ramon_Jales

sim ahahaha. Até as religiões “caem”, os sistemas econômicos. Imagine uma linguagem.

j-menezes

Credo mesmo
Se depender de mim “var” não entra na minha codificação de Java
Sinceramente, não vejo vantagem alguma nisso

davidbuzatto

Eu nem uso e acho que poucos devem usar. Declarar variável como final dentro de método só pra indicar que não vai mudar o valor? É uma tendência tipo uma “programação semântica”? Que bobagem, estão enfiando o modo de programar do JavaScript no Java. Sei lá, pra mim essas novas firulas que estão colocando na linguagem 90% é pura bobagem. Tem uma coisa ou outra que eu até gosto, mas que caem por terra tbm em algumas situações. Por exemplo, as strings de múltiplas linhas, em bloco. É útil se estiver escrevendo SQL, mas se usar um ORM da vida não precisa. Se for para escrever um template, eu acho mais prático escrever em txt e carregar o arquivo ao invés de jogar dentro do código.

Criado 22 de janeiro de 2023
Ultima resposta 23 de jan. de 2023
Respostas 13
Participantes 6