Node.js es una plataforma de tiempo de ejecución de JavaScript que permite ejecutar código JS fuera de un navegador web. Entre las características más destacadas de Node.js se encuentra la posibilidad de desarrollar servicios web RESTful utilizando principalmente el módulo http.
En pocas palabras, un servicio web RESTful es un servicio web que sigue los principios de REST (Representational State Transfer). Los servicios RESTful utilizan HTTP para realizar operaciones (como GET, POST, PUT y DELETE) en los recursos.
Para crear un servicio web RESTful en Node.js, utilizamos el módulo http. Mira el siguiente ejemplo de cómo se puede hacer esto:
const http = require('http')
const server = http.createServer((req, res) => {
if (req.url == '/') {
res.write('Hello World');
res.end();
}
})
server.listen(3000);
console.log('Listening on port 3000...');
En el ejemplo anterior, primero importamos el módulo http usando require('http')
. Luego creamos un servidor utilizando http.createServer()
. Dentro de la función que pasamos a createServer()
, tenemos acceso a los objetos de solicitud y respuesta, que representan la solicitud HTTP que se recibió y la respuesta HTTP que se enviará, respectivamente.
En este caso, simplemente estamos respondiendo con 'Hello World' cuando la ruta del URL es '/'. Finalmente, hacemos que nuestro servidor escuche en el puerto 3000.
Aunque el módulo http puede ser suficiente para aplicaciones muy simples, en la vida real, muy probablemente querrás usar un framework como Express.js, el cual se construye sobre el módulo http y proporciona una serie de características útiles para el desarrollo de servicios web RESTful. Sin embargo, el entendimiento del módulo http es esencial para entender cómo funcionan estas herramientas de nivel superior.