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 | Sí | 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 |