como usar uma API com Java (O Guia Completo do iniciante)

neste artigo, vamos falar sobre a melhor tecnologia da interação entre software e testá-la na linguagem mais popular para criar software.o que é a API Java REST?esta é uma questão difícil, por isso vamos dividi-la em algumas partes. Java é uma das linguagens de programação mais populares do mundo. De acordo com o ranking TIOBE (que ordena línguas pelo seu Índice de popularidade), é na verdade o mais popular. Existem muitas razões para isso, mas nós preferimos a tese de que Java é generalizada, fácil de implantar, e tem uma caixa de ferramentas mágica “escrever uma vez, executar em todos os lugares”.

Você está procurando construir uma API em vez disso? Confira Como criar uma API em Java

ok, mas o que é exatamente uma API?

Well, API significa Interface de programação de aplicações.

em resumo, é um conjunto de regras que controla a interação entre software (ou seja, um objeto que recebe alguma tarefa e objeto que dá essa tarefa). APIs permite-nos saltar profundamente no código fonte de algum software de terceiro lado, permitindo-nos usar os seus privilégios de forma rápida e fácil.

como funciona esta interface?

acima de tudo, uma API deve ter um host-URL (ou URL base), que é o Endereço principal com o qual você vai interagir.

também, APIs tem um conjunto predefinido de endpoints – endereços únicos dentro host-URL, responsável por sua funcionalidade. Além disso, as APIs devem ter documentação que explique todos os parâmetros, tipos de valores devolvidos, etc.

Depois de encontrar uma API interessante e ler a documentação, você tem que enviar um pedido – uma única tarefa para o servidor (lado de recepção).metaforicamente, é como uma conversa entre duas pessoas: alguém (você) faz uma pergunta (pedido), e o interlocutor (ponto final) responde (resposta).

tipos de pedidos de API

Existem muitos tipos diferentes de pedidos que a API poderia lidar, mas aqui estão os mais usados:

  • GET – returns dados do servidor. O pedido mais popular a propósito.
  • POST-adds new data on the server. Muitas vezes este tipo é usado para registro ou upload de arquivos.
  • PUT / PATCH – actualiza os dados, pedido útil mas não tão procurado.
  • DELETE-remove os dados do servidor.

ok, temos o significado da primeira e última palavra em “Java REST API”.mas o que significa o resto?

Este é o estilo de comunicação de software que ajuda um cliente a obter os dados necessários no estado de bem-estar para a representação (transferência de Estado de resto – representacional).

assim, quando dizemos API de descanso, queremos dizer-APIs que não só devolve os dados solicitados, mas também os prepara para mais trabalho.mas como podemos criar uma API repousante? Tudo o que é necessário – um monte de restrições arquitetônicas:

  • Arquitetura Cliente-Servidor – separação clara em dois lados. O cliente envia pedidos e espera pela resposta; o servidor então assume o papel oposto. A principal razão para esta restrição – um lado não se importa com nada, exceto o formato correto da interação (não é problema seu como o servidor executa o seu pedido e vice-versa).apátrida-independência de cada pedido singular de todos os pedidos anteriores e futuros. Por exemplo, se você enviar a pergunta “Qual é o sobrenome de Charlie?”, e depois seguir com “que idade ele tem?”, o servidor não seria capaz de responder à segunda. O servidor não grava nenhuma informação do cliente e exige-a em cada pedido.
  • Cacheability-ao invés do servidor, o cliente poderia (e mesmo deveria) salvar alguns dados no armazenamento local (cache). Aumenta a produtividade, na medida em que o número de pedidos será menor.sistema em camadas-o servidor deve incluir camadas para diferentes partes do processo. É útil porque as camadas não sabem nada sobre as outras e o servidor pode ser facilmente escalado com novas camadas (por exemplo, Segurança).interface uniforme-cada parâmetro tem de ter um endereço único. Simples, útil e necessário.

Agora que temos toda a informação sobre APIs RESTful Java, vamos experimentá-la!

pré-requisitos

primeiro, você precisará ter Java instalado em sua máquina.

também, você deve ter um construtor de pacotes Maven para fácil instalação e utilização de pacotes do site. Além disso, só precisaremos da biblioteca mais unida para fazer pedidos sem problemas e em poucas linhas.

Aqui você pode olhar para o exemplo de código que faz uma solicitação por módulos padrão:

parece bastante difícil, certo? Especialmente InputStream como um tipo de valor devolvido (ele deve ser processado posteriormente).

Let’s look at the same example with Unirest:

Voila! Você pode atribuir o tipo esperado de resposta e trabalhar com ela imediatamente.

Você pode usar o Unirest com a ajuda do Maven, então criar um projeto Maven Java e encontrar o pom.ficheiro xml-mostra todas as dependências e ferramentas do projecto. Inserir a próxima parte do código XML no <dependencies> tag:

<dependency> <groupId>com.mashape.unirest</groupId> <artifactId>unirest-java</artifactId> <version>1.4.9</version></dependency>

podem ser encontradas aqui informações mais detalhadas sobre as dependências.

Agora você pode construir seu projeto pelo próximo comando no terminal (tenha cuidado, use-o apenas na pasta principal, porque pom.xml deve ser visível para Maven):
mvn package

Agora você está pronto para usar Java para interagir com APIs.

visão geral

Antes de começarmos, vamos precisar de encontrar uma API fácil de testar. Às vezes é difícil encontrar API livre e útil para fins de teste. Em RapidAPI, encontrará mais de 10.000 APIs para testar e conectar. Aqui você pode testar suas habilidades de programação, construir aplicativos úteis, e até mesmo criar suas próprias APIs.

como começar a utilizar APIs com Java

Inscreva-se no RapidAPI

como mencionado anteriormente, o RapidAPI tem mais de 10 000 APIs para começar. E com mais de 1 milhão de desenvolvedores usando sua plataforma, é uma das plataformas API mais populares e confiáveis.

então Clique aqui para começar, é gratuito.

encontre uma API

Agora que você tem uma conta de usuário, vamos encontrar uma API para brincar.

On RapidAPI.com, você pode encontrar APIs navegando:

  • Categorias (exemplo: APIs Gaming)
  • Search
  • curou colecções na página inicial

vamos tentar procurar pela API IMDb para obter alguma informação sobre TV e filmes:

Subscreva a API

para começar a usar esta API, terá primeiro de se subscrever a ela. (Dica: há um plano de freemium que permite 1000 pedidos de API grátis/Dia). Será obrigado a introduzir o seu cartão de crédito no caso de incorrer em excessos.

Se quiser tentar algumas APIs livres (sem cartão de crédito) em vez disso, navegue nesta colecção.

Uma vez que você está subscrito, você está agora pronto para testar os endpoints.

testar os Endpoints

vamos explorar todos os endpoints que estão nesta API. Procure no lado esquerdo da página da API:

O IMDb API tem apenas dois pontos de extremidade:

  1. GET By Search procurar o IMDb banco de dados de seqüência de caracteres de consulta
  2. GET By ID or Title – obter informações mais detalhadas sobre um determinado título (inclui informações sobre o filme/tv, elenco, produção, e mais).

em qualquer um dos parâmetros da API, preencha todos os parâmetros necessários e clique em “ponto final do teste”.

no lado direito, poderá ver a parte do excerto, onde os programadores mostram como se ligar a esta API com qualquer língua suportada.

para esta API, precisamos adicionar dois cabeçalhos (nome único da API e nosso próprio token RapidAPI). Todos os outros parâmetros dependem do parâmetro Concreto. Vamos explorar todos os endpoints que estão nesta API. Olha para o lado esquerdo da página principal.

recupere os dados usando a API

Ok, esteja pronto, é hora de codificação. Vamos descobrir tudo sobre um filme famoso que existe dentro dos dados do imdb. Retorne ao seu código e importe as coisas seguintes:

Aqui temos importar URLEncoder para a elaboração de parâmetros para ser enviado, e 3 objetos necessários da Unirest biblioteca:

  1. para a manipulação de uma resposta (HttpResponse),
  2. atribuir JSON-tipo para ele (JsonNode),
  3. e fazer uma solicitação GET (Unirest).

Agora vamos criar a sua classe principal, onde todo o código será:

public class App{ public static void main( String args ) throws Exception { //Here will be your code }}

não se esqueça da exceção. Você deve lidar com todos os avisos e erros para melhorar o projeto.

ok, agora vamos criar algumas variáveis de cadeia de caracteres para automatizar alguns processos:

Agora que criamos a consulta, vamos enviar um pedido e lidar com a resposta:

Como você pode ver, é muito simples.

para criar um pedido, use uma biblioteca Unirest com a função GET.

preste atenção aos cabeçalhos-podemos adicioná-los usando pontos para a divisão.

Depois de fazer um pedido e lidar com a sua resposta pelo objeto , podemos ver o resultado.

primeiro println mostra o código de estado da Resposta – Um pequeno número que explica a situação com as nossas acções solicitadas.

no nosso caso, se tudo estiver bem, ele deve retornar um status de 200-OK.

o segundo println, por sua vez, mostra um dos cabeçalhos de resposta – “Content-Type”.

Let’s see what we should get with built-in API console in RapidAPI. Basta inserir a sua consulta nos campos do formulário e clicar em “Test Endpoint”:

Você deve ver o mesmo resultado como visto na imagem acima.agora, vamos verificar o nosso código. Execute seu programa, e você deve ver:

200

Get a JSON response

In the previous code section, we used a JsonNode object for assigning JSON format type to the response.

O problema é que o objeto padrão jsonnode imprime dados em uma única linha, o que é bastante difícil de entender. Vamos adicionar uma biblioteca para o Gson de dados. Modifica o teu pom.ficheiro xml com a próxima dependência:

<dependency> <groupId>com.google.code.gson</groupId> <artifactId>gson</artifactId> <version>2.8.5</version></dependency>

Agora vamos adicionar algumas linhas de importação na secção de importação do seu *.java file:

estes objectos ajudar-nos-ão a imprimir o nosso JSON. Ok, agora podemos chamar o ponto final e obter uma resposta:

Se tudo correr bem, iremos ver o seguinte resposta:

Exemplo: Usando Java & APIs para Exibir outros tipos de Dados

Como você pode recordar, o cabeçalho de Tipo de Conteúdo os pedidos anteriores foi para “application/json”, mas o que se deseja enviar/receber algo que não pode ser processado em JSON?por exemplo, um ficheiro ou imagem?vamos tentar demonstrar isso com a API do gerador Meme.a API do gerador de Meme consiste em 5 endpoints:

  • Gerar meme
  • Obter fontes
  • fazer Upload de Imagem
  • Upload fonte
  • imagens

Vamos usar a Gerar meme ponto final:

Primeiro, vamos modificar nossas importações adicionar estas linhas ao topo do nosso código:

import java.io.InputStream;import java.io.File;import java.awt.image.BufferedImage;import javax.imageio.ImageIO;

Agora, cole o seguinte trecho de código dentro do método main:

Aqui podemos lidar com matérias corpo da resposta para o InputStream objeto. O próximo passo é lê – lo no BufferedImage imagem dinâmica objeto na memória do programa.

finalmente, vamos criar (ou atualizar) uma imagem.ficheiro jpg e gravar o buffer dentro dele. Isto deverá indicar o seguinte:


como poderá ver, a API devolve a um objecto de imagem.

Para ver a imagem real, vamos verificar a pasta principal do nosso projeto, e você deve encontrar:

Conclusão

neste guia, nós estudamos como usar RapidAPI para fazer uma emocionante e útil Java API REST aplicações e tentou algumas útil APIs para limpeza de momentos-chave para esta técnica.

  • Como Usar Uma API
    • Com Python
    • Com PHP
    • Com JavaScript
      • Com a Reagir
        • Axios
      • Com NodeJS
      • Com VueJS
    • Com Ruby on Rails
    • Com C#
    • em Planilhas do Google
  • Como Criar uma API Java
  • Lista de API REST Tutoriais
  • Como usar a API do Twitter com Java
  • Como usar o Skyscanner API Java
  • Como usar as Finanças de Yahoo API Java

FAQ

Como você pode criar uma API em Java?

confira estes tutoriais de API Java sobre como criar uma API.

Java é uma API?

Java é uma linguagem de programação.APIs é um conjunto de definições e protocolos que permitem que produtos e serviços tecnológicos se comuniquem entre si.

uma Interface de programação de aplicações Java (API) pode se referir ao Java development kit (JDK) ou APIs que são acessíveis usando Java.o JSON é uma API?

Related Posts

Deixe uma resposta

O seu endereço de email não será publicado. Campos obrigatórios marcados com *