Back

Desmistificando APIs #2

Desmistificando APIs #2

No primeiro post, explicamos o que são as APIs e como elas facilitam a comunicação entre diferentes programas e serviços. Agora, na parte 2, vamos nos aprofundar um pouco mais.


Existem vários tipos de APIs, cada uma com suas características e usos específicos. Cada um tem suas vantagens e é escolhido conforme a necessidade específica do projeto ou aplicação. Aqui estão alguns dos principais tipos:

APIs REST

Essas são as mais comuns. Utilizam o protocolo HTTP para operações simples e são conhecidas por sua facilidade de uso. É como pedir diferentes sabores de pizza de um menu.

De forma prática, um exemplo comum de uma API REST é a API dos Correios ou de qualquer transportadora. Quando você faz uma compra online, pode acompanhar o status da entrega diretamente no site da loja.

Isso é possível porque o site usa uma API REST para consultar o número de rastreamento do seu pacote e obter atualizações em tempo real sobre sua localização e status de entrega.

APIs SOAP

Elas utilizam protocolo XML para comunicações mais seguras e complexas. São ideais para transações detalhadas, como seguir regras rigorosas para fazer um pedido de pizza específico.

Um exemplo comum de uma API SOAP é a API de um serviço bancário. Quando você realiza uma compra online e opta por pagar com transferência bancária, o site da loja se comunica com o banco através de uma API SOAP.

A loja envia uma solicitação detalhada em formato XML com suas informações de pagamento, e o banco responde confirmando a transação, também em XML.

Esse processo seguro e estruturado garante que a transação seja realizada corretamente e com a segurança necessária.

APIs GraphQL

Permitem que o cliente solicite exatamente os dados necessários, sem excesso. É como escolher exatamente os ingredientes de uma pizza personalizada.

Um exemplo ilustrativo de uma API GraphQL é a API do GitHub.

Ao utilizar um aplicativo de gerenciamento de projetos conectado ao GitHub, este pode aproveitar a API GraphQL para obter detalhes específicos sobre os repositórios do usuário.

Ao enviar uma solicitação customizada, o aplicativo requer apenas os dados necessários, como o nome do repositório, número de commits e issues em aberto.

Em resposta, a API GraphQL fornece precisamente essas informações, garantindo uma comunicação eficiente e direcionada.

APIs de WebSocket

Essas permitem comunicação bidirecional em tempo real entre o cliente e o servidor. É como conversar com o pizzaiolo em tempo real enquanto ele prepara sua pizza, ajustando os ingredientes conforme você pede.

São utilizadas em aplicativos de chat em tempo real, como o Discord. Quando você envia uma mensagem para um amigo em um servidor do Discord, essa mensagem é transmitida instantaneamente através da API WebSocket.

Essa comunicação bidirecional permite que as mensagens sejam enviadas e recebidas em tempo real, proporcionando uma experiência de chat fluida e interativa, sem a necessidade de atualizar a página constantemente.

APIs BFF (Backend For Frontend)

As APIs BFF (Backend For Frontend) são usadas quando diferentes partes do mesmo aplicativo, como a versão web e mobile, precisam de dados diferentes do servidor.

O BFF serve como um intermediário entre o front-end e o back-end, garantindo que cada parte receba exatamente o que precisa.

Por exemplo, se um aplicativo móvel e uma versão web de um site precisam de informações diferentes do servidor (pois normalmente a versão web traz mais informações mesmo), cada um terá seu próprio BFF para fornecer esses dados de maneira eficiente.

Isso ajuda a simplificar e organizar a comunicação entre o cliente e o servidor, tornando a experiência do usuário mais rápida e eficaz.