TL;DR: REST é um estilo arquitetónico definido por restrições nas interações entre componentes. Utilize as suas seis restrições para analisar a independência do cliente, o contexto do pedido, o armazenamento em cache, as interfaces uniformes, as camadas e o código opcional descarregado; uma resposta JSON, por si só, não comprova nenhuma delas.
Um ponto de extremidade que devolve uma encomenda em formato JSON pode, ainda assim, obrigar todos os clientes a compreender o fluxo de trabalho privado do servidor. As restrições da arquitetura da API REST são as regras que determinam se essas interações seguem a Transferência de Estado Representacional (REST), em vez de se limitarem a utilizar o HTTP. Dizem respeito ao que os participantes devem saber uns sobre os outros, à forma como trocam representações e ao grau de independência com que podem sofrer alterações.
Considere um coletor a ler um catálogo de produtos. Este precisa de recuperar registos, descobrir outra página, reconhecer um resultado inalterado e retomar o processo após a falha de um trabalhador. Esses requisitos revelam imediatamente as escolhas arquitetónicas. A próxima solicitação contém o seu próprio contexto? O servidor pode anunciar a próxima página? Uma resposta guardada é reutilizável? O trabalhador substituto deve recuperar uma conversa invisível antes de continuar?
Este guia utiliza essas questões como uma revisão de projeto. Os exemplos descrevem um serviço de catálogo hipotético, não a API executável de um fornecedor. Mostram como inspecionar o comportamento sem reduzir o REST a nomes de endpoints no plural ou a uma lista de verbos HTTP. Pode aplicar a mesma revisão a uma API que publique, a uma integração que mantenha ou a um pipeline de recolha de dados que consuma o serviço de outra entidade.




