Sobes.tech
Junior

Quais APIs podem ser considerados RESTful?

sobes.tech IA

Resposta da IA

As API RESTful cumprem os princípios do estilo arquitetónico REST:

  • Cliente-servidor: Separação de responsabilidades entre o cliente, que solicita recursos, e o servidor, que os fornece.
  • Sem estado (Stateless): Cada pedido do cliente ao servidor deve conter todas as informações necessárias para processar o pedido. O servidor não mantém estado de sessão do cliente.
  • Cacheável: O servidor deve indicar explicitamente ou implicitamente se as respostas podem ser armazenadas em cache pelo cliente ou intermediários.
  • Sistema em camadas: O cliente não consegue distinguir entre uma chamada direta ao servidor e uma através de camadas intermediárias (proxy, balanceadores de carga, etc.).
  • Código sob demanda (opcional): O servidor pode temporariamente ampliar a funcionalidade do cliente transmitindo código executável (por exemplo, JavaScript).
  • Interface uniforme: O princípio mais importante da API RESTful. Consiste em quatro restrições:
    • Identificação de recursos: Os recursos são identificados por URLs.
    • Manipulação de recursos através de representações: O cliente interage com os recursos obtendo suas representações (por exemplo, em formato JSON, XML).
    • Mensagens auto-descritivas: Cada mensagem contém informações suficientes para ser processada, incluindo metadados sobre como processar a mensagem e o recurso.
    • HATEOAS (Hypermedia as the Engine of Application State): O servidor deve incluir links em suas respostas que permitam ao cliente descobrir ações disponíveis e navegar entre os estados da aplicação. Este é o princípio menos frequentemente cumprido.

As API RESTful usam métodos HTTP padrão (GET, POST, PUT, DELETE, PATCH) para operações sobre recursos identificados por URIs.

Por exemplo, uma requisição GET a /api/users/123 obtém a representação do usuário com ID 123.