O que é REST API
REST (Representational State Transfer) é um estilo de design de serviços web proposto por Roy Fielding em 2000. REST API refere-se a Web APIs criadas seguindo estes princípios de design.
No desenvolvimento atual de serviços web, REST API é o método de design de API mais amplamente utilizado.
O que é API: Abreviação de Application Programming Interface, é um mecanismo para troca de dados entre diferentes softwares.
Os 6 Princípios de Design do REST
1. Separação Cliente-Servidor
Separa cliente (frontend) e servidor (backend), permitindo que cada um seja desenvolvido e evolua independentemente.
2. Stateless
Cada requisição deve ser completa por si só. O servidor não mantém o estado do cliente.
3. Cacheável
As respostas devem indicar explicitamente se podem ser cacheadas ou não.
4. Interface Uniforme
Unifica a forma de operar os recursos. Esta é a característica mais importante da REST API.
5. Sistema em Camadas
O cliente não precisa saber se está se comunicando diretamente com o servidor ou passando por servidores intermediários.
6. Code on Demand (Opcional)
Permite que o servidor envie código para ser executado no cliente.
Métodos HTTP e Operações CRUD
| Método HTTP | Operação CRUD | Descrição | Idempotência |
|---|---|---|---|
| GET | Read | Obtenção de recurso | Sim |
| POST | Create | Criação de recurso | Não |
| PUT | Update | Atualização completa do recurso | Sim |
| PATCH | Update | Atualização parcial do recurso | Não |
| DELETE | Delete | Exclusão do recurso | Sim |
O que é Idempotência: A propriedade onde executar a mesma operação múltiplas vezes produz o mesmo resultado.
Design de Recursos e Design de URL
# Coleção de recursos (use plural)
GET /api/users # Obter lista de usuários
POST /api/users # Criar novo usuário
# Recurso específico
GET /api/users/123 # Obter usuário com ID=123
PUT /api/users/123 # Atualizar usuário com ID=123
DELETE /api/users/123 # Excluir usuário com ID=123
# Recursos aninhados
GET /api/users/123/posts # Lista de posts do usuário 123
Códigos de Status HTTP
Sucesso (2xx)
200 OK- Requisição bem-sucedida201 Created- Recurso criado com sucesso204 No Content- Sucesso (sem corpo de resposta)
Erro do Cliente (4xx)
400 Bad Request- Requisição inválida401 Unauthorized- Autenticação necessária403 Forbidden- Sem permissão de acesso404 Not Found- Recurso não existe
Erro do Servidor (5xx)
500 Internal Server Error- Erro interno do servidor503 Service Unavailable- Serviço temporariamente indisponível
Resumo
REST API é um método de design de API simples e fácil de entender que aproveita as características do protocolo HTTP. Ao expressar recursos através de URLs e operações através de métodos HTTP, ele realiza uma interface unificada.
← Voltar para a lista