API e API REST: como sistemas conversam entre si
O que é uma API?
Uma API (Interface de Programação de Aplicações) é uma ponte de comunicação que permite que diferentes sistemas de software conversem entre si.
Ela define regras sobre como um sistema pode solicitar informações ou realizar ações em outro sistema.
Podemos imaginar uma API como o garçom de um restaurante.
Você faz um pedido para o garçom, ele leva esse pedido até a cozinha e depois traz a resposta.
👤 Cliente
│
│ "Quero um hambúrguer"
▼
🧑🍳 API
(Garçom)
│
▼
🍳 Cozinha
(Sistema)
│
▼
🍔 Resposta
│
▼
👤 Cliente
Você não precisa saber como a cozinha prepara o hambúrguer. Você apenas precisa saber como fazer o pedido.
Com uma API acontece a mesma coisa:
🌐 Sistema A
│
│ Requisição
▼
🔌 API
│
▼
💻 Sistema B
│
│ Resposta
▼
🌐 Sistema A
A API funciona como uma interface entre os dois sistemas.
Um exemplo do dia a dia
Imagine um aplicativo de previsão do tempo.
O aplicativo precisa descobrir a temperatura atual, mas ele não possui todas essas informações sozinho.
Então ele pode fazer uma requisição para uma API:
📱 Aplicativo
│
│ "Qual a temperatura de hoje?"
▼
🌐 API de clima
│
▼
🌡️ Dados do clima
│
▼
📱 Aplicativo
│
▼
"28°C ☀️"
O aplicativo não precisa saber como a API consegue essas informações. Ele apenas segue as regras definidas por ela.
E o que é uma API REST?
API REST é uma forma muito comum de construir APIs utilizando as regras e recursos da própria internet, principalmente o protocolo HTTP.
Em uma API REST, os dados são tratados como recursos.
Por exemplo:
/clientes
/produtos
/pedidos
/usuarios
Cada endereço representa um tipo de recurso que a API disponibiliza.
Os principais métodos HTTP
Para interagir com esses recursos, uma API REST utiliza principalmente quatro métodos:
GET → 📖 Consultar
POST → ➕ Criar
PUT → ✏️ Atualizar
DELETE → 🗑️ Apagar
Por exemplo, imagine uma API de clientes:
GET /clientes
Significa:
"Quero consultar os clientes."
POST /clientes
Significa:
"Quero cadastrar um novo cliente."
PUT /clientes/10
Significa:
"Quero atualizar o cliente de número 10."
DELETE /clientes/10
Significa:
"Quero excluir o cliente de número 10."
Podemos visualizar assim:
API REST
│
┌────────────┼────────────┐
▼ ▼ ▼
👥 Clientes 📦 Produtos 🛒 Pedidos
│
├── GET → Consultar
├── POST → Criar
├── PUT → Atualizar
└── DELETE → Apagar
O que significa "RESTful"?
Uma das características importantes de uma API REST é o conceito de stateless, ou seja, sem estado.
Isso significa que cada requisição deve trazer as informações necessárias para que o servidor consiga processá-la.
Por exemplo:
👤 Usuário
│
│ Requisição + informações necessárias
▼
🌐 API
│
▼
✅ Processa
A API não deve depender de uma informação que ficou "guardada" de uma requisição anterior para entender a próxima.
API x API REST
É importante entender que API e API REST não são exatamente a mesma coisa.
API é um conceito mais amplo: é uma forma de permitir que sistemas se comuniquem.
API REST é uma maneira específica de construir uma API, utilizando princípios do REST e normalmente o HTTP.
Podemos pensar assim:
🔌 API
│
├── API REST
├── API SOAP
└── Outras formas de API
Resumindo
API é uma ponte que permite que diferentes sistemas se comuniquem seguindo determinadas regras.
API REST é uma forma de construir essa comunicação utilizando os princípios do REST e os métodos HTTP, como GET, POST, PUT e DELETE.
Exemplo do dia a dia 🍽️
No restaurante:
👤 Você
│
│ Pedido
▼
🧑🍳 Garçom
│
│ Pedido
▼
🍳 Cozinha
│
│ Resposta
▼
🧑🍳 Garçom
│
▼
🍔 Você
No software:
💻 Sistema A
│
│ Requisição
▼
🔌 API REST
│
│ Requisição
▼
💻 Sistema B
│
│ Resposta
▼
🔌 API REST
│
▼
💻 Sistema A
O garçom representa a API: ele faz a comunicação entre você e a cozinha sem que você precise conhecer o funcionamento interno dela.
Para lembrar
API = ponte de comunicação entre sistemas.
REST = conjunto de princípios para construir APIs, geralmente utilizando HTTP.
GET = ler | POST = criar | PUT = atualizar | DELETE = apagar
Top comments (0)