Creación de API REST NodeJS - TypeScript - MongoDB - Mongoose
Creación de API REST NodeJS - TypeScript - MongoDB - Mongoose
Una vez teniendo el editor de código abierto procederemos a crear una carpeta
en la que inicializaremos un proyecto de NodeJS, ejecutando en una
consola/terminal el siguiente comando:
Nota: si se está usando Visual Studio Code para abrir una terminal se puede utilizar el atajo de teclado
“CTRL + SHIFT + P” luego escribir consola y seleccionar la opción “Create Terminal”
Atributo Descripción
Name Nombre del proyecto.
Version Versión del proyecto.
Description Descripción del proyecto.
Main Archivo principal del proyecto.
Scripts Sección para definir comandos para la ejecución de
manera rápida con npm.
Keywords Palabras clave del contenido del proyecto.
Author Autor del proyecto.
License Licencia bajo la cual se distribuye el proyecto.
2. Paquetes NPM
Tipos De Paquetes
En nodeJS tenemos 2 tipos de Módulos o dependencias:
1) Dependencias de ejecución: Son aquellas que se necesitan para
ejecutar el proyecto en los distintos ambientes.
2) Dependencias de desarrollo: Estas están pensadas como paquetes
únicamente para el proceso de desarrollo y no son necesarios en
producción.
4) Compilador De Typescript
Una vez tengamos instaladas todas las dependencias se procede a inicializar
un proyecto de “Typescript” con el siguiente comando:
Configurar El Compilador De Typescript
"target": "es6",
"rootDir": "./",
"moduleResolution": "node",
"outDir": "./dist",
"scripts": {
"dev": "ts-node-dev index.ts",
"build": "tsc ."
},
> Models/ Task.ts (Nombre singular pues representa una instancia a la vez)
> database.ts
> app.ts
> index.ts
6) Creación de la aplicación.
La respuesta recibir del servidor es un error “Cannot GET /” el cual a pesar de ser un
error no lo es en realidad, esto es debido a que el servidor nos está respondiendo que
no hay ninguna ruta configurada para responder a nuestra petición.
3) Definición de Rutas
6) Variables de entorno
Para cargar las variables de entorno de manera rápida y sencilla será
necesario crear un fichero con la extensión “.env” y cargarlo con el modulo de
nodeJS llamado “dotenv”
Contenido del archivo:
DB_USER="usuario"
DB_PASS="clave"
PORT="5000"
dbConnection();
8) CRUD De Métodos Rest En Conjunto Con La Base De Datos
En este punto será necesario hacer la conjunción de los métodos REST, el
modelo de datos y la conexión a la base de datos previamente definidos
Se deber crear:
• Método para listar todas las tareas almacenadas en la base de datos
• Método para crear una tarea
• Método para obtener una tarea en base a su ID
• Método para editar una tarea en base a su ID
• Método para eliminar una tarea en base a su ID
Para ello será necesario alterar los métodos que previamente definimos en el
archivo “index.ts” en la carpeta “Routes”
Dando como resultado un código con funciones asíncronas debido a que
realiza llamadas a la base de datos y debe esperar por la respuesta: