En este tema, aprenderás sobre los métodos HTTP, que son fundamentales para la interacción con APIs RESTful. Los métodos HTTP definen las acciones que se pueden realizar sobre los recursos de una API. Los métodos más comunes son GET, POST, PUT, DELETE, PATCH, HEAD y OPTIONS. A continuación, desglosaremos cada uno de estos métodos, sus usos y ejemplos prácticos.

Métodos HTTP Comunes

  1. GET

El método GET se utiliza para solicitar datos de un recurso específico. Es una operación de solo lectura y no debe modificar el estado del recurso.

Características:

  • Idempotente: Múltiples solicitudes GET al mismo recurso no cambian su estado.
  • Seguro: No modifica el recurso.

Ejemplo:

GET /api/products/123 HTTP/1.1
Host: example.com

Este ejemplo solicita los detalles del producto con ID 123.

  1. POST

El método POST se utiliza para enviar datos al servidor para crear un nuevo recurso. A diferencia de GET, POST puede modificar el estado del servidor.

Características:

  • No idempotente: Múltiples solicitudes POST pueden crear múltiples recursos.
  • No seguro: Modifica el recurso.

Ejemplo:

POST /api/products HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "New Product",
  "price": 19.99
}

Este ejemplo crea un nuevo producto con el nombre "New Product" y el precio 19.99.

  1. PUT

El método PUT se utiliza para actualizar un recurso existente o crear uno si no existe. Es una operación idempotente.

Características:

  • Idempotente: Múltiples solicitudes PUT con los mismos datos no cambian el resultado.
  • No seguro: Modifica el recurso.

Ejemplo:

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

{
  "name": "Updated Product",
  "price": 29.99
}

Este ejemplo actualiza el producto con ID 123 con un nuevo nombre y precio.

  1. DELETE

El método DELETE se utiliza para eliminar un recurso específico. Es una operación idempotente.

Características:

  • Idempotente: Múltiples solicitudes DELETE al mismo recurso no cambian el resultado.
  • No seguro: Modifica el recurso.

Ejemplo:

DELETE /api/products/123 HTTP/1.1
Host: example.com

Este ejemplo elimina el producto con ID 123.

  1. PATCH

El método PATCH se utiliza para aplicar modificaciones parciales a un recurso. A diferencia de PUT, PATCH solo envía los cambios y no el recurso completo.

Características:

  • No idempotente: Múltiples solicitudes PATCH pueden tener diferentes efectos.
  • No seguro: Modifica el recurso.

Ejemplo:

PATCH /api/products/123 HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "price": 24.99
}

Este ejemplo actualiza solo el precio del producto con ID 123.

  1. HEAD

El método HEAD es similar a GET, pero solo solicita los encabezados de la respuesta sin el cuerpo. Es útil para verificar si un recurso existe o para obtener metadatos.

Características:

  • Idempotente: Múltiples solicitudes HEAD no cambian el estado del recurso.
  • Seguro: No modifica el recurso.

Ejemplo:

HEAD /api/products/123 HTTP/1.1
Host: example.com

Este ejemplo solicita los encabezados del producto con ID 123.

  1. OPTIONS

El método OPTIONS se utiliza para describir las opciones de comunicación para el recurso de destino. Es útil para verificar los métodos soportados por el servidor.

Características:

  • Idempotente: Múltiples solicitudes OPTIONS no cambian el estado del recurso.
  • Seguro: No modifica el recurso.

Ejemplo:

OPTIONS /api/products HTTP/1.1
Host: example.com

Este ejemplo solicita las opciones de comunicación para el recurso /api/products.

Ejercicios Prácticos

Ejercicio 1: Solicitar un recurso

Realiza una solicitud GET para obtener los detalles de un producto con ID 456.

Solución:

GET /api/products/456 HTTP/1.1
Host: example.com

Ejercicio 2: Crear un nuevo recurso

Envía una solicitud POST para crear un nuevo producto con el nombre "Example Product" y el precio 15.99.

Solución:

POST /api/products HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "Example Product",
  "price": 15.99
}

Ejercicio 3: Actualizar un recurso existente

Envía una solicitud PUT para actualizar el producto con ID 789, cambiando su nombre a "Updated Example Product" y su precio a 25.99.

Solución:

PUT /api/products/789 HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "name": "Updated Example Product",
  "price": 25.99
}

Ejercicio 4: Eliminar un recurso

Envía una solicitud DELETE para eliminar el producto con ID 101.

Solución:

DELETE /api/products/101 HTTP/1.1
Host: example.com

Ejercicio 5: Modificar parcialmente un recurso

Envía una solicitud PATCH para actualizar solo el precio del producto con ID 202 a 19.99.

Solución:

PATCH /api/products/202 HTTP/1.1
Host: example.com
Content-Type: application/json

{
  "price": 19.99
}

Resumen

En esta sección, hemos cubierto los métodos HTTP más comunes utilizados en el diseño y desarrollo de APIs RESTful. Cada método tiene un propósito específico y características que determinan cómo interactúa con los recursos. Comprender estos métodos es crucial para diseñar APIs eficientes y efectivas.

En el siguiente tema, exploraremos los códigos de estado HTTP, que son esenciales para comunicar el resultado de las solicitudes HTTP.

© Copyright 2024. Todos los derechos reservados