Construir una API RESTful de gestión de usuarios con Node.js

JavaScriptJavaScriptBeginner
Practicar Ahora

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

En este proyecto, aprenderás a desarrollar una API RESTful utilizando Node.js y Express.js. El proyecto implica crear un sistema simple de gestión de usuarios, donde puedes recuperar una lista de usuarios.

👀 Vista previa

curl http://localhost:8080/list
## Salida:
## {"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

🎯 Tareas

En este proyecto, aprenderás:

  • Cómo configurar un proyecto de Node.js e instalar dependencias
  • Cómo crear un servidor básico de Express.js
  • Cómo implementar un punto final GET para recuperar una lista de usuarios de un archivo JSON
  • Cómo probar la API utilizando cURL

🏆 Logros

Después de completar este proyecto, podrás:

  • Comprender los conceptos básicos del desarrollo de API RESTful
  • Configurar un proyecto de Node.js e instalar las dependencias necesarias
  • Crear un servidor simple de Express.js
  • Implementar un punto final GET para recuperar datos de un archivo JSON
  • Probar la API utilizando cURL

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/DOMManipulationGroup(["DOM Manipulation"]) javascript(("JavaScript")) -.-> javascript/ToolsandEnvironmentGroup(["Tools and Environment"]) javascript(("JavaScript")) -.-> javascript/NetworkingGroup(["Networking"]) javascript/DOMManipulationGroup -.-> javascript/dom_manip("DOM Manipulation") javascript/ToolsandEnvironmentGroup -.-> javascript/version_control("Version Control") javascript/NetworkingGroup -.-> javascript/http_req("HTTP Requests") javascript/NetworkingGroup -.-> javascript/json("JSON") javascript/NetworkingGroup -.-> javascript/api_interact("API Interaction") subgraph Lab Skills javascript/dom_manip -.-> lab-445684{{"Construir una API RESTful de gestión de usuarios con Node.js"}} javascript/version_control -.-> lab-445684{{"Construir una API RESTful de gestión de usuarios con Node.js"}} javascript/http_req -.-> lab-445684{{"Construir una API RESTful de gestión de usuarios con Node.js"}} javascript/json -.-> lab-445684{{"Construir una API RESTful de gestión de usuarios con Node.js"}} javascript/api_interact -.-> lab-445684{{"Construir una API RESTful de gestión de usuarios con Node.js"}} end

Configurar el proyecto

En este paso, configurarás el proyecto e instalarás las dependencias necesarias.

El código inicial para esta pregunta ya ha sido proporcionado. Abre el entorno de codificación y la estructura de directorios es la siguiente:

├── index.js
├── users.json
├── package.json
├── package-lock.json

A continuación, descarga las dependencias utilizando el comando npm install en la terminal, espera a que las dependencias terminen de descargarse y luego inicia el proyecto utilizando el comando npm run dev.

Implementar el punto final GET /list

En este paso, implementarás el punto final GET /list para mostrar la lista de usuarios.

  1. Abre el archivo index.js en el directorio del proyecto.
  2. Localiza la sección TODO en el archivo y agrega el siguiente código para implementar el punto final GET /list:
//TODO
app.get("/list", function (req, res) {
  fs.readFile(
    path.resolve(__dirname, "./users.json"),
    "utf8",
    function (err, data) {
      data = JSON.parse(data);
      res.json(data);
    }
  );
});

Este código lee el archivo users.json, analiza los datos JSON y los envía como respuesta.

  1. Guarda el archivo index.js.

Probar el punto final GET /list

En este paso, probarás el punto final GET /list para asegurarte de que funcione correctamente.

  1. Abre una nueva terminal en el entorno de laboratorio.
  2. Utiliza el comando curl para enviar una solicitud GET al punto final /list:
curl http://localhost:8080/list

Deberías ver la siguiente salida, que es los datos JSON del archivo users.json:

{"userlist":[{"id":"1","username":"zhangsan","password":"123456"},{"id":"2","username":"lilei","password":"456"},{"id":"3","username":"hanmeimei","password":"123"}]}

Si ves esta salida, el punto final GET /list está funcionando correctamente.

¡Felicidades! Has completado el proyecto e implementado el punto final GET /list para mostrar la lista de usuarios.

✨ Revisar Solución y Practicar

Resumen

¡Felicidades! Has completado este proyecto. Puedes practicar más laboratorios en LabEx para mejorar tus habilidades.