O que é REST
REST, de Representational State Transfer, é um estilo de organização de API em que os recursos são acessados por uma combinação de URL e método HTTP. A URL identifica o recurso, e o método comunica a ação pretendida.
O estilo ajuda a entender a API olhando para a chamada. Em vez de nomes de função abstratos, o caminho identifica o que existe, e o verbo informa o que está sendo feito. A leitura da URL comunica o propósito.
Recurso e caminho
O recurso é o que a API expõe: um usuário, um pedido, um pet. O caminho identifica o recurso e, quando necessário, o elemento específico dentro dele. O método define a operação sobre o caminho.
Uma mesma URL pode responder de formas diferentes conforme o verbo. Consultar, criar, substituir ou remover usam métodos distintos sobre o mesmo recurso. A combinação de caminho e método comunica a chamada.
GET /pets → consultar a lista
POST /pets → criar um pet
GET /pets/5 → consultar o pet 5
DELETE /pets/5 → solicitar a remoçãoCaminhos que comunicam
O caminho pode se aprofundar para recursos relacionados. Um usuário com seus pedidos pode aparecer em /users/5/orders. O identificador do usuário aparece no caminho, e o recurso relacionado completa a leitura.
O caminho bem desenhado se lê como uma frase. Identificar o recurso, o elemento e a relação ajuda quem consome a API. A URL comunica a operação e oferece uma primeira orientação sobre a chamada.
Semântica e estado
REST se apoia em recurso e estado. O recurso é o que a API expõe, e o estado é a representação atual dele. O HTTP oferece os verbos e os códigos de resposta que expressam a operação.
Seguir a semântica dos métodos evita surpresas. Usar GET para consultar, POST para criar e DELETE para remover comunica a intenção. A idempotência de alguns métodos orienta o comportamento ao repetir chamadas.
Para modelar a sua API seguindo o estilo REST, o Desenvolvimento Colaborativo da Dev Side Studio oferece orientação na organização de recursos, caminhos e métodos.
Dúvidas frequentes
Perguntas frequentes sobre REST
- REST é um protocolo?
- Não. REST é um estilo de organização de API. Ele se apoia no HTTP, mas não é um protocolo próprio. O HTTP continua definindo métodos e códigos de resposta.
- Toda API chamada de REST segue o mesmo padrão?
- Nem sempre. O termo é usado com variações. O essencial é a organização em recursos com caminhos e métodos que comunicam a ação pretendida.
- O que a URL diz em uma API REST?
- A URL identifica o recurso, e o método comunica a ação. A mesma URL com métodos diferentes pode executar operações diferentes sobre o recurso.
- Uma API precisa ser REST para ser boa?
- Não. O estilo REST atende bem a muitos casos, mas a escolha acompanha a necessidade. Outros formatos também podem entregar APIs eficientes.
Para continuar
Recursos relacionados
Documentação
REST na documentação da MDN
Definição do estilo REST e a relação com recursos e métodos HTTP.
Abrir recursoDocumentação
Desenho de API REST
Boa prática para modelar recursos e caminhos em uma API REST.
Abrir recursoAplicação na formação
Developer Workspace
REST organiza a API em recursos que combinam caminho e método para comunicar a ação pretendida.
Conhecer a formação
Fontes consultadas
Referências deste verbete
Este verbete ajudou você?
Obrigado pela resposta. Ela fica salva apenas neste navegador.