Senior
Que tipos de API web conhece? Em que o REST difere essencialmente do RPC?
sobes.tech IA
Resposta da IA
As API web existem em diferentes tipos, sendo os principais:
- REST (Representational State Transfer) — estilo arquitetónico que utiliza métodos HTTP (GET, POST, PUT, DELETE) para trabalhar com recursos, que são identificados por URI. O REST foca nos recursos e seus estados.
- RPC (Remote Procedure Call) — chamada de procedimentos ou funções remotas, onde o cliente invoca métodos do servidor como se fossem locais. Normalmente, são transmitidos nomes de métodos e parâmetros.
- GraphQL — linguagem de consultas que permite ao cliente solicitar exatamente os dados de que precisa.
Diferenças entre REST e RPC:
- REST trabalha com recursos e seus estados, não com chamadas de funções.
- Em REST, as operações são padronizadas por métodos HTTP, em RPC, métodos específicos com nomes são chamados.
- REST é mais orientado à estrutura e apresentação de dados, RPC às ações.
Exemplo:
Requisição REST para obter um usuário:
GET /users/123
Requisição RPC para obter um usuário:
POST /rpc
{
"method": "GetUser",
"params": { "id": 123 }
}
Portanto, REST é mais declarativo e orientado a recursos, enquanto RPC foca na invocação de procedimentos.