DEV Community

Cover image for API REST e RESTFUL
Henrique Holtz
Henrique Holtz

Posted on

2 1

API REST e RESTFUL

Olá dev, tudo bem? 😃

Hoje explicarei de forma simples e direta os conceitos de uma API REST e como ela pode ser denominada como uma API RESTFUL.

Representational State Transfer (REST)
Uma API pode ser denominada como RESTFUL quando cumpre todo o conjunto de 05 princípios de arquitetura :

Stateless (Sem estado): Esse princípio diz que cada requisição feita a API deve ser independente, ou seja, ter todos os dados necessários para autenticação e autorização, por exemplo, quando aplicável.

Client-Server (Separação de Cliente-Servidor): Esse princípio diz que devemos separar a interface do usuário (normalmente gráfica) do armazenamento de dados.

Layered System (Camadas de sistema): A indicação é de que a arquitetura da API seja construída com camadas independentes, de forma que cada camada não pode ver além da camada adjacente, bem como as mudanças de uma camada não afetem as demais. É recomentado que entre o cliente-servidor tenha-se uma balanceador de carga (Load Balancer). Uma das vantagens de ter uma API dividida em camadas é que a arquitetura se torna menos completa e fica mais propensa a modificações.

Cache (Armazenamento em cache): O cache é um armazenamento em memória do lado do servidor que ajuda muito quando o assunto é performance e eficiência, visto que uma informação "cacheada" é retornada de forma muito mais rápida. A indicação é que seja possível fazer uma consulta sem cache a qualquer momento através de um recurso chamado HTTP Header.

Uniform Interface (Interface Uniforme): Resume-se em componentes uniformes entre cliente-servidor. Subdividida em 4 partes:

* Identificação dos Recursos;
* Representação dos recursos;
* Mensagens auto descritivas;
* Hypermedia (HATEOAS);
Enter fullscreen mode Exit fullscreen mode

 
 

Algumas boas práticas são:

  • Criar rotas no plural, por exemplo:
    https://meusite.com.br/produtos
     

  • Utilizar letras minúsculas;

  • Manter coerência nos métodos HTTP, exemplos mais comuns:

Método Descrição
GET Consultas em geral
POST Normalmente utilizado para inserção de registros
PUT Edição de registros
DELETE Deletar registros

 

  • Manter coerência com os códigos de retorno das chamadas (StatusCode), alguns exemplos:
Código Descrição
✅ 200 Ok
✅ 201 Criado
⚠️ 401 Não Autorizado
⚠️ 403 Acesso Proibido
❌ 500 Erro interno do Servidor

 
Henrique Holtz, desenvolvedor de software. ✌️

Image of Timescale

🚀 pgai Vectorizer: SQLAlchemy and LiteLLM Make Vector Search Simple

We built pgai Vectorizer to simplify embedding management for AI applications—without needing a separate database or complex infrastructure. Since launch, developers have created over 3,000 vectorizers on Timescale Cloud, with many more self-hosted.

Read more

Top comments (0)

Postmark Image

Speedy emails, satisfied customers

Are delayed transactional emails costing you user satisfaction? Postmark delivers your emails almost instantly, keeping your customers happy and connected.

Sign up