Si eres un desarrollador web, probablemente sepas lo importante que es comunicarse con las APIs. Las APIs son las interfaces que permiten que diferentes aplicaciones intercambien datos y realicen acciones. Una de las formas más comunes de interactuar con las APIs es mediante el uso de peticiones HTTP. Las peticiones HTTP son mensajes que siguen un formato y protocolo específicos, y se pueden utilizar para enviar y recibir datos desde un servidor.
Existen diferentes tipos de peticiones HTTP, como GET, POST, PUT, PATCH y DELETE. Cada una tiene un propósito y significado diferente. En esta entrada de blog, nos centraremos en la petición DELETE, que se utiliza para eliminar un recurso de un servidor. Aprenderemos cómo realizar una petición DELETE en Node.js, un entorno de ejecución de JavaScript popular que te permite ejecutar código JavaScript en el lado del servidor.
Al final de esta entrada de blog, tendrás una sólida comprensión de cómo realizar una petición delete en Node.js y cómo trabajar con APIs de forma eficaz. ¡Empecemos!
¿Qué es una petición DELETE y cuándo usarla?
Una petición DELETE es uno de los métodos HTTP que se utilizan para comunicarse con las APIs. Como su nombre indica, una petición DELETE se utiliza para eliminar un recurso de un servidor. Un recurso puede ser cualquier cosa que se identifique mediante una URL única, como un usuario, una publicación, un comentario, un archivo, etc.
Una petición DELETE se envía normalmente con una URL que especifica el recurso que se va a eliminar. Por ejemplo, si quieres eliminar un usuario con el id 123 de una API, puedes enviar una petición DELETE a la URL https://example.com/api/users/123. El servidor procesará entonces la petición y devolverá una respuesta que indique si la eliminación se ha realizado correctamente o no.
Una petición DELETE se utiliza normalmente cuando quieres eliminar algo que ya no es necesario o relevante. Por ejemplo, puedes utilizar una petición DELETE para:
- Eliminar una cuenta de usuario que está inactiva o es spam
- Eliminar una publicación o un comentario que es inapropiado u ofensivo
- Eliminar un archivo que está obsoleto o dañado
- Eliminar un registro que está duplicado o es erróneo
Sin embargo, debes tener cuidado al utilizar una petición DELETE, ya que es una operación destructiva que no se puede deshacer. Una vez que eliminas un recurso, desaparece para siempre. Por lo tanto, siempre debes asegurarte de que tienes la autorización y el permiso adecuados para eliminar un recurso, y de que tienes una copia de seguridad o un mecanismo de confirmación en caso de que algo salga mal.
¿Qué es Node.Js?
Node.js es un entorno de ejecución de JavaScript que te permite ejecutar código JavaScript fuera de un navegador web. Node.js se basa en el motor de JavaScript V8 de Google Chrome, y se utiliza para construir aplicaciones web, especialmente las que requieren muchos datos y en tiempo real. Node.js también tiene una gran biblioteca de módulos y paquetes que puedes utilizar para añadir funcionalidad a tus proyectos.

Algunas de las ventajas de Node.js son:
- Es rápido y escalable, gracias a su naturaleza asíncrona y basada en eventos.
- Es multiplataforma y de código abierto, lo que significa que puedes ejecutarlo en varios sistemas operativos y contribuir a su desarrollo.
- Es consistente y unificado, ya que puedes utilizar el mismo lenguaje tanto para el front-end como para el back-end de tu aplicación web.
Cómo realizar una petición DELETE en Node.js utilizando el módulo Http integrado
Una de las formas de realizar una petición DELETE en Node.js es utilizando el módulo http integrado. El módulo http es un módulo central que proporciona funcionalidad de bajo nivel para trabajar con peticiones y respuestas HTTP. Para utilizar el módulo http, necesitas requerirlo en tu código, así:
const http = require('http');
Para realizar una petición DELETE utilizando el módulo http, necesitas utilizar el método http.request(). Este método toma dos argumentos: un objeto de opciones y una función de callback. El objeto de opciones contiene los detalles de la petición, como el método, el nombre de host, el puerto, la ruta, las cabeceras, etc. La función de callback se ejecuta cuando la petición se completa, y recibe un objeto de respuesta como parámetro.
Por ejemplo, digamos que queremos realizar una petición DELETE a la URL https://jsonplaceholder.typicode.com/posts/1, que es una API falsa que devuelve datos ficticios para fines de prueba. Podemos utilizar el siguiente código para hacerlo:
const http = require('http');
// Define el objeto de opciones
const options = {
method: 'DELETE', // Especifica el método HTTP
hostname: 'jsonplaceholder.typicode.com', // Especifica el nombre de host
port: 443, // Especifica el puerto (443 para HTTPS)
path: '/posts/1', // Especifica la ruta
};
// Realiza la petición
const req = http.request(options, (res) => {
// Maneja la respuesta
console.log('Código de estado:', res.statusCode); // Imprime el código de estado
console.log('Cabeceras:', res.headers); // Imprime las cabeceras
// Obtiene los datos de la respuesta
let data = '';
res.on('data', (chunk) => {
data += chunk; // Concatena los fragmentos
});
// Cuando la respuesta termina, imprime los datos
res.on('end', () => {
console.log('Datos:', data); // Imprime los datos
});
});
// Maneja cualquier error
req.on('error', (err) => {
console.error('Error:', err.message); // Imprime el mensaje de error
});
// Finaliza la petición
req.end();
Cómo realizar una petición DELETE en Node.js utilizando la librería Axios
Otra forma de realizar una petición delete en Node.js es utilizando la librería axios. Axios es una librería popular y fácil de usar que te permite realizar peticiones HTTP desde Node.js o el navegador. Axios tiene muchas características y opciones que hacen que trabajar con APIs sea más sencillo y cómodo. Para utilizar axios, necesitas instalarlo en tu proyecto utilizando npm o yarn, así:
npm install axios
# or
yarn add axios
Para realizar una petición DELETE utilizando Axios, necesitas utilizar el método axios.delete(). Este método toma dos argumentos: una URL y un objeto de configuración opcional. La URL es la misma que la que utilizarías para el módulo http, y el objeto de configuración puede contener parámetros y cabeceras adicionales para la petición. El método axios.delete() devuelve una promesa, que puedes manejar con los métodos then() y catch().
Por ejemplo, utilicemos la misma URL que antes, https://jsonplaceholder.typicode.com/posts/1, y realicemos una petición delete utilizando axios. Podemos utilizar el siguiente código para hacerlo:
const axios = require('axios');
// Realiza la petición
axios
.delete('https://jsonplaceholder.typicode.com/posts/1')
.then((res) => {
// Maneja la respuesta
console.log('Código de estado:', res.status); // Imprime el código de estado
console.log('Cabeceras:', res.headers); // Imprime las cabeceras
console.log('Datos:', res.data); // Imprime los datos
})
.catch((err) => {
// Maneja cualquier error
console.error('Error:', err.message); // Imprime el mensaje de error
});
Si ejecutas este código, deberías ver algo similar a esto en la consola:
Status code: 200
Headers: {
date: 'Tue, 05 Mar 2024 12:45:47 GMT',
'content-type': 'application/json; charset=utf-8',
'content-length': '2',
connection: 'close',
'x-powered-by': 'Express',
'x-ratelimit-limit': '1000',
'x-ratelimit-remaining': '998',
'x-ratelimit-reset': '1614938747',
vary: 'Origin, Accept-Encoding',
'access-control-allow-credentials': 'true',
'cache-control': 'no-cache',
pragma: 'no-cache',
expires: '-1',
'access-control-expose-headers': 'X-Json-Placeholder-User-Id',
'x-json-placeholder-user-id': '1',
etag: 'W/"2-vyGp6PvFo4RvsFtPoIWeCReyIC8"',
via: '1.1 vegur',
'cf-cache-status': 'DYNAMIC',
'cf-request-id': '08a9f9c9f40000e6b4b3f0a000000001',
'expect-ct': 'max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"',
'report-to': '{"group":"cf-nel","endpoints":[{"url":"https:\\/\\/a.nel.cloudflare.com\\/report?s=Q%2BZL0U%2FJ9%2F5i2coL0wvYcQLLmZvIML2Zzjwqk3Iw0%2B3U%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F%2F
Cómo realizar una petición DELETE en Node.js utilizando Apidog
Apidog es una herramienta de API que simplifica el proceso de creación y prueba de APIs en Node.js. Te permite definir tus endpoints de API utilizando una sintaxis declarativa, y genera automáticamente documentación, validación y pruebas de tu API.
Aquí te mostramos cómo puedes utilizar Apidog para probar tu petición DELETE:
- Abre Apidog y crea una nueva petición.

2. Establece el método de petición a HTTP DELETE.

3. Introduce la URL del recurso que quieres actualizar. Añade cualquier cabecera o parámetro adicional que quieras incluir y, a continuación, haz clic en el botón "Send" para enviar la petición.

4. Verifica que la respuesta es la que esperabas.

Conclusión
En esta entrada de blog, hemos aprendido cómo realizar una petición DELETE en Node.js utilizando tres métodos diferentes: el módulo http integrado, la librería Axios y la librería Apidog. Hemos visto las ventajas y desventajas de cada método, y cómo manejar los errores y las respuestas de una petición DELETE. También hemos aprendido algunos consejos y buenas prácticas para realizar peticiones DELETE en Node.js y trabajar con APIs de forma eficaz.