Sobes.tech
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.