Diferentes tipos de módulos utilizados para realizar requests y respuestas HTTP en Node.js

Las requests y respuestas de HTTP son el principal bloque fundamental de la World Wide Web. Hay muchos enfoques para realizar una solicitud HTTP y una respuesta en Node.js. Varias bibliotecas de código abierto también están disponibles para realizar cualquier tipo de solicitud y respuesta HTTP. 

Una solicitud HTTP está destinada a recuperar datos de un URI específico o enviar datos a un servidor. Entre un servidor y un cliente, funciona como un protocolo de solicitud-respuesta. Un cliente puede ser el navegador web y un servidor puede ser la aplicación en un sistema informático que aloja un sitio web.

Hay tres enfoques para crear diferentes requests de publicación que se analizan a continuación:

  1. Usando el módulo HTTP
  2. Usando el marco express.js
  3. Usando el módulo axioma

Módulo HTTP: El módulo HTTP es el módulo incorporado que se puede usar sin un comando de instalación externo.

Módulo de Importación:

const http = require("http")

Nombre de archivo: index.js

Javascript

// Importing http module
const http = require("http")
 
// Creating http server
const server=http.createServer((req,res) => {
 
    // Handling the request
    if(req.url == '/') {
       
      // Sending the response
      res.write("<h1>This is the server GFG!<h1>")
      res.statusCode = 200
       
      // Ending the response
      res.end()
    }
})
 
// Listening the server
server.listen((3000),() => {
   console.log("Server is Running")
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Ahora abra su navegador y vaya a http://localhost:3000 , puede ver el siguiente resultado:

Marco Express.js: Express.js es un módulo de terceros que debe instalarse externamente mediante el comando npm install. Express.js es uno de los poderosos marcos para Node.js. Puede manejar diferentes tipos de requests de clientes con la ayuda de diferentes middleware.

Instalación del módulo: Instale el módulo con el siguiente comando:

npm install express.js

Nombre de archivo: index.js

Javascript

// Requiring module
const express = require("express");
 
// Creating express app object
const app = express();
 
// Handling '/' route
app.get("/", (req, res, next) => {
 
  // Sending the response
  res.send("unknown request");
})
 
// Handling '/GFG' route    
app.get("/GFG", (req, res, next) => {
 
  // Sending the response
  res.send("Getting request of GFG");
})
 
// Handling '/Hello' route
app.get("/Hello", (req, res, next) => {
 
  // Sending the response
  res.send("Getting request of the Hello");
})
 
// Server setup
app.listen(3000, () => {
  console.log("Server is Running");
})

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Server is Running

Ahora abra su navegador y vaya a http://localhost:3000/GFG , puede ver el siguiente resultado:

Módulo Axios: Otra biblioteca que se puede utilizar es Axios . Este es un módulo popular de node.js que se usa para realizar requests HTTP y es compatible con todos los navegadores más recientes. También es compatible con la sintaxis async/await para realizar una solicitud POST.

Instalación del módulo: Instale el módulo con el siguiente comando:

npm install axios

Nombre de archivo: index.js

Javascript

// Importing the axios module
const axios = require('axios');
 
// Data to be sent
const data = {
    name: 'geeksforgeeks',
    job: 'Content Writer',
    topic: 'Node.js'
};
 
const addUser = async () => {
    try {
 
      // Endpoint of resource
      var URL = 'https://reqres.in/api/usersdata'
       
      // Making post request
      const res = await axios.post(URL, data);
          
      // Printing the response data
      console.log('Body: ', res.data);  
    } catch (err) {
      // Printing the error
      console.error(err.Message);
    }
};

Ejecute el archivo index.js usando el siguiente comando:

node index.js

Producción:

Publicación traducida automáticamente

Artículo escrito por zack_aayush y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *