Sobes.tech
Junior

Cuéntenos sobre el método PUT en la API REST.

sobes.tech AI

Respuesta de la IA

El método PUT se utiliza para crear o actualizar un recurso en la URI especificada.

Características clave:

  • Idempotencia: La ejecución repetida de la misma solicitud PUT con el mismo cuerpo conducirá al mismo estado del recurso en el servidor (aunque la respuesta del servidor puede variar).
  • Reemplazo completo: La solicitud PUT envía una representación completa del recurso, reemplazando la existente.
  • Creación o actualización: Si el recurso en la URI especificada no existe, PUT lo crea. Si existe, lo actualiza. La ausencia del recurso en una solicitud PUT exitosa generalmente conduce a la creación, que suele devolver el estado 201 Created. La actualización de un recurso existente generalmente devuelve 200 OK o 204 No Content (si no hay cuerpo en la respuesta).

Escenarios de uso típicos:

  • Actualización del perfil completo del usuario.
  • Creación de un recurso si el cliente define su URI.

Ejemplo de solicitud PUT:

PUT /users/123 HTTP/1.1
Host: api.example.com
Content-Type: application/json

{
  "id": 123,
  "name": "Nuevo Nombre",
  "email": "new.email@example.com"
}

El servidor recibirá esta solicitud y creará un usuario con id=123 o reemplazará completamente la información del usuario con ese ID con los datos del cuerpo de la solicitud.

PUT se diferencia de POST en lo siguiente:

  • PUT se usa para actualizar o crear un recurso en una URI conocida, que define el cliente. POST se usa para crear un recurso, donde el servidor define la URI del nuevo recurso, o para otras acciones que no encajan en otros métodos HTTP.
  • PUT es idempotente, POST no lo es. Las solicitudes POST repetidas con el mismo cuerpo pueden crear múltiples recursos iguales o causar efectos secundarios diferentes.

Tabla comparativa de PUT y POST:

Característica PUT POST
Propósito Crear o actualizar un recurso Crear un recurso, enviar datos
Idempotencia No
Definición de URI Por parte del cliente Por parte del servidor
Impacto en el recurso Reemplaza o crea completamente Normalmente añade o realiza una acción