Sobes.tech
Senior

¿Cuál es la diferencia entre los métodos PUT y POST? ¿Cómo se comportan al enviar la misma solicitud nuevamente? ¿Qué hace PATCH?

sobes.tech AI

Respuesta de la IA

Los métodos HTTP PUT y POST difieren en semántica y comportamiento:

  • PUT — método idempotente, se usa para actualizar completamente un recurso en la URL especificada. Reenviar la misma solicitud PUT no cambiará el resultado, ya que el recurso será sobrescrito con los mismos datos.

  • POST — método no idempotente, generalmente se usa para crear nuevos recursos o realizar acciones. Reenviar la solicitud POST puede crear duplicados o repetir la operación.

  • PATCH — se usa para actualizar parcialmente un recurso, enviando solo los campos modificados. A diferencia de PUT, que reemplaza todo el recurso, PATCH aplica cambios al objeto existente.

Ejemplo:

PUT /users/123
{
  "name": "Иван",
  "age": 30
}

PATCH /users/123
{
  "age": 31
}

POST /users
{
  "name": "Иван",
  "age": 30
}

Reenviar PUT con los mismos datos no cambiará el recurso, reenviar POST creará un nuevo usuario, y reenviar PATCH actualizará la edad nuevamente.