Entendendo APIs e sua estrutura.
Source: Dev.to
O que é uma API?
API significa Application Programming Interface (em português: Interface de Programação de Aplicações).
Basicamente, uma API é um jeito de um sistema conversar com outro, trocando informações de forma organizada e seguindo regras pré‑definidas. Se um sistema quer pegar dados de outro, enviar informações, criar ou atualizar algo, a API faz essa ponte.
Quando falamos de APIs REST, elas se comunicam usando HTTP/HTTPS, o mesmo protocolo usado pelos navegadores. Tudo é feito através de URLs chamadas endpoints.
- Endpoint: endereço onde o serviço da API está disponível.
- Request → Response: a API recebe uma requisição e devolve dados, uma confirmação ou um erro, sempre acompanhado de um status code (ex.:
200 – OK).
Métodos HTTP comuns
| Método | Descrição |
|---|---|
GET | Buscar dados |
POST | Enviar dados (criação de recurso) |
PUT | Atualizar um recurso existente |
PATCH | Atualizar parte de um recurso |
DELETE | Deletar um recurso |
Formato de dados
A maioria das APIs modernas utiliza JSON como formato de troca de informações:
{
"exemplo": "valor",
"lista": [1, 2, 3]
}
JSON é leve, fácil de ler e funciona bem com praticamente todas as linguagens.
Headers (cabeçalhos) da requisição
Os headers carregam informações adicionais que a API precisa para processar a requisição, como:
- Tipo de conteúdo (
Content-Type: application/json) - Token de autenticação
- Idioma (
Accept-Language) - Permissões
Sem os headers corretos, muitas APIs nem permitem o acesso.
Autenticação
Nem toda API é aberta; a maioria exige comprovação de permissão. Os mecanismos mais usados são:
- API Key
- Bearer Token
- JWT (JSON Web Token)
- OAuth2
Versionamento
APIs evoluem ao longo do tempo, por isso é comum versioná‑las na URL:
/api/v1/clientes
Exemplo simples de API com Spring Boot
É possível criar rapidamente uma API usando o Spring Initializr.
Passos básicos
- Acesse o Spring Initializr e gere um projeto com as dependências desejadas (por exemplo, Spring Web).
- Importe o projeto em sua IDE.
- Crie um controlador REST:
// src/main/java/com/exemplo/DemoController.java
package com.exemplo;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoController {
@GetMapping("/api/v1/hello")
public String hello() {
return "Olá, mundo!";
}
}
- Execute a aplicação (
./mvnw spring-boot:runou via IDE) e acesse o endpointhttp://localhost:8080/api/v1/hello.
Links úteis
- Spring Initializr: https://start.spring.io
- Perfil do autor no LinkedIn: (link não fornecido)