Solicitud de publicación HTTP en Node.js

Shraddha Paghdar 12 octubre 2023
  1. Solicitud de publicación HTTP en Node.js
  2. Diferentes formas de realizar solicitudes HTTP en Node.js
Solicitud de publicación HTTP en Node.js

En este artículo, aprenderemos a realizar solicitudes de publicación mediante paquetes de terceros mediante Node.js.

Solicitud de publicación HTTP en Node.js

El método HTTP POST crea o agrega un recurso en el servidor. La principal diferencia entre las solicitudes POST y PUT es que se agrega/crea un nuevo recurso en el servidor mediante una solicitud POST, mientras que un recurso existente se actualiza/reemplaza mediante una solicitud PUT.

Por ejemplo, los navegadores utilizan el método de solicitud HTTP POST cuando envían datos de formulario HTML al servidor o cuando envían datos a través de solicitudes jQuery/AJAX. A diferencia de las solicitudes GET y HEAD, las solicitudes HTTP POST pueden cambiar el estado del servidor.

Diferentes formas de realizar solicitudes HTTP en Node.js

Usar la biblioteca de Axios

Puede enviar solicitudes HTTP asíncronas a puntos finales REST utilizando Axios. Realizar operaciones CRUD se convierte en una tarea fácil con Axios.

Use el siguiente comando para instalar la biblioteca Axios.

$ npm i axios

Una solicitud POST se crea con el método post(). Cuando se pasa como segundo parámetro a la función post(), Axios serializa automáticamente objetos JavaScript a JSON.

No necesitamos serializar cuerpos POST a JSON.

Código fuente completo:

const axios = require('axios');
async function submitRequest() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const res =
      await axios.post('https://jsonplaceholder.typicode.com/posts', payload);
  const data = res.data;
  console.log(data);
}
submitRequest();

En el ejemplo anterior, una vez que el usuario envía el formulario, se envía una llamada POST al servidor del nodo con la URL especificada (ficticia en esta publicación) y los parámetros. Si el servidor procesa estos datos sin interrupción, devuelve un mensaje de éxito.

Según el resultado de la respuesta del servidor, puede imprimir el mensaje en la consola o notificar al usuario con el mensaje.

Producción :

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

Ejecutar demostración

Usar la biblioteca de recuperación de nodos

Puede enviar solicitudes HTTP asíncronas a puntos finales REST utilizando la biblioteca de búsqueda de nodos. Puede encontrar más información sobre la búsqueda de nodos aquí.

Instale la biblioteca de búsqueda de nodos con el siguiente comando.

$ npm i node - fetch

Código fuente completo:

const fetch = require('node-fetch');
async function getTodoData() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const response = await fetch('https://jsonplaceholder.typicode.com/posts', {
    method: 'post',
    body: JSON.stringify(payload),
    headers: {'Content-Type': 'application/json'}
  });
  const data = await response.json();
  console.log(data);
}
getTodoData();

Producción :

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

Ejecutar demostración

Usar la biblioteca SuperAgent

Usemos la biblioteca SuperAgent para realizar una solicitud de publicación HTTP en Node.js. Puede encontrar más información sobre la biblioteca SuperAgent aquí.

Instale la biblioteca superagent usando el siguiente comando.

$ npm i superagent

Código fuente completo:

const superagent = require('superagent');
async function getTodoData() {
  const payload = {title: 'Hello World', body: 'Welcome to Node tutorial'};
  const res =
      await superagent.post('https://jsonplaceholder.typicode.com/posts')
          .send(payload);
  console.log(res.body);
}
getTodoData();

Producción :

{
  title: 'Hello World',
  body: 'Welcome to Node tutorial',
  id: 101
}

Ejecutar demostración

Shraddha Paghdar avatar Shraddha Paghdar avatar

Shraddha is a JavaScript nerd that utilises it for everything from experimenting to assisting individuals and businesses with day-to-day operations and business growth. She is a writer, chef, and computer programmer. As a senior MEAN/MERN stack developer and project manager with more than 4 years of experience in this sector, she now handles multiple projects. She has been producing technical writing for at least a year and a half. She enjoys coming up with fresh, innovative ideas.

LinkedIn