Junior
Qual é a diferença entre os métodos REST?
sobes.tech IA
Resposta da IA
REST (Transferência de Estado Representacional) é um estilo arquitetónico para sistemas distribuídos, não um padrão. No entanto, geralmente está associado ao uso de métodos HTTP para interagir com recursos. Os principais métodos HTTP utilizados em APIs RESTful são GET, POST, PUT, PATCH e DELETE. São usados para realizar várias operações sobre os recursos.
| Método | Propósito | Idempotência | Segurança | Exemplo de uso |
|---|---|---|---|---|
| GET | Obter dados do recurso. | Sim | Sim | Visualizar informações do usuário. |
| POST | Criar um novo recurso ou enviar dados para processamento. | Não | Não | Registrar um novo usuário. |
| PUT | Atualização completa de um recurso existente. | Sim | Não | Atualizar todos os dados do usuário. |
| PATCH | Atualização parcial de um recurso existente. | Não | Não | Atualizar apenas o email do usuário. |
| DELETE | Eliminar um recurso. | Sim | Não | Eliminar a conta do usuário. |
Diferenças importantes:
- GET e DELETE são idempotentes (executar várias vezes dá o mesmo resultado que uma só), enquanto POST e PATCH não o são. PUT também é idempotente.
- GET é seguro (não altera o estado do recurso), ao contrário dos outros métodos.
- PUT destina-se a substituir completamente o recurso, enquanto PATCH é para atualizações parciais.
Por exemplo, para trabalhar com o recurso "utilizador" (/users/{id}):
GET /users/123- obter informações do utilizador com ID 123.POST /users- criar um novo utilizador (dados no corpo da requisição).PUT /users/123- atualizar completamente os dados do utilizador 123 (dados no corpo da requisição).PATCH /users/123- atualizar parcialmente os dados do utilizador 123 (por exemplo, apenas o campo email, dados no corpo da requisição).DELETE /users/123- eliminar o utilizador com ID 123.
A escolha do método depende do tipo de operação que precisa ser realizada sobre o recurso. Usar os métodos HTTP corretos é fundamental para criar APIs RESTful compreensíveis e previsíveis.