Sobes.tech
Middle

Quais são os princípios do REST?

sobes.tech IA

Resposta da IA

Existem os seguintes princípios do REST:

  • Arquitetura Cliente-Servidor: Separação de responsabilidades entre o cliente (consumidor do serviço) e o servidor (fornecedor do serviço). Isso promove a portabilidade do código do cliente e a escalabilidade do servidor.
  • Sem estado (Stateless): Cada pedido do cliente ao servidor deve conter todas as informações necessárias para que o servidor possa processá-lo. O servidor não mantém estado do cliente entre pedidos.
  • Cacheável: O servidor pode indicar explicitamente se os dados podem ser armazenados em cache pelo cliente ou por camadas intermediárias. Isso melhora o desempenho e a escalabilidade.
  • Interface uniforme: A mais importante, incluindo quatro subprincípios:
    • Identificação de recursos: Os recursos são identificados por URIs únicos.
    • Manipulação de recursos através de representações: O cliente interage com os recursos obtendo suas representações (por exemplo, em JSON ou XML) e enviando novas representações para modificar o estado do recurso.
    • Mensagens auto-descritivas: Cada mensagem contém informações suficientes para que o destinatário entenda como processá-la. São utilizados cabeçalhos HTTP padrão.
    • Hipermedia como o Motor do Estado da Aplicação (HATEOAS): O cliente deve encontrar informações sobre ações disponíveis e transições possíveis entre estados da aplicação a partir de links hipertexto incorporados às representações dos recursos.
  • Sistema em camadas: A arquitetura pode ser organizada em camadas intermediárias (por exemplo, proxies, caches, gateways) através das quais passam as requisições e respostas. O cliente não sabe se comunica diretamente com o servidor final ou através de camadas intermediárias.
  • Código sob demanda (opcional): O servidor pode estender temporariamente a funcionalidade do cliente transmitindo código executável (por exemplo, JavaScript). Este princípio é opcional para conformidade com REST.