🚀 8.1 Arquitetura e Maturidade REST

Não basta criar um endpoint que devolve um JSON para dizer que seu sistema é RESTful. Na Engenharia Premium, seguimos o Modelo de Maturidade de Richardson, buscando sempre atingir o nível máximo de excelência.

Os Degraus da Excelência REST

Utilizamos o seguinte modelo para avaliar a qualidade de nossas APIs na Green Dog Delivery:

graph TD
    L0[Nível 0: O Pântano de POX - RPC sobre HTTP] --> L1[Nível 1: Recursos - Identificação por URI]
    L1 --> L2[Nível 2: Verbos HTTP - GET, POST, PUT, DELETE]
    L2 --> L3[Nível 3: HATEOAS - A Glória do REST]

Explicação dos Níveis de Elite

  1. Nível 1 (Recursos): Em vez de /fazerTudo, usamos nomes para representar os objetos.
    • Ex: /clientes, /pedidos, /itens.
  2. Nível 2 (Verbos e Semântica): Usamos o protocolo HTTP como ele foi desenhado.
    • GET: Consulta (Seguro e Idempotente).
    • POST: Criação.
    • PUT: Atualização total.
    • PATCH: Atualização parcial.
    • DELETE: Remoção.
  3. Nível 3 (HATEOAS): Hypermedia as the Engine of Application State. A resposta da API contém links que dizem ao cliente o que ele pode fazer a seguir (ex: após listar um cliente, a API envia o link para “fazer um pedido”).
RecursoNível 2 (Comum)Nível 3 (Premium)
Resposta{ "id": 1, "nome": "Rodrigo" }{ "id": 1, "nome": "Rodrigo", "_links": { "self": "/clientes/1" } }
DescobertaManual (via Docs)Automática (via Links)

TIP

Status Codes: O uso correto dos códigos de erro (201 Created, 204 No Content, 400 Bad Request, 404 Not Found, 403 Forbidden) é obrigatório para ser considerado um desenvolvedor de elite. No próximo capítulo, veremos como consumir esses serviços usando os novos padrões do JavaScript moderno.


⬅️ Capítulo Anterior | Próximo Capítulo ➡️