DEV Community

thesuperankes
thesuperankes

Posted on

API REST nodejs, express, mongo con 2 comandos.

Introducción

SuperApiBoost es un cliente con dos comandos para generar una API REST NodeJS con lenguaje TypeScript usando express para las peticiones y mongoose para base de datos.

Instalación

npm i -g superapiboost
Enter fullscreen mode Exit fullscreen mode

Nuevo proyecto

sabo new -n=[NOMBRE]
Enter fullscreen mode Exit fullscreen mode

Este generará la siguiente estructura:

📦API
 ┣ 📂node_modules
 ┣ 📂src
 ┃ ┣ 📂api
 ┃ ┃ ┣ 📂routes
 ┃ ┃ ┗ 📜index.ts
 ┃ ┣ 📂controllers
 ┃ ┃ ┗ 📜mongoBasic.ts #Basic CRUD Methods
 ┃ ┣ 📂interfaces
 ┃ ┣ 📂tools #transversal functions in the project
 ┃ ┃ ┗ 📜validateType.ts
 ┃ ┣ 📜app.ts
 ┃ ┣ 📜config.ts
 ┃ ┗ 📜mongo.ts
 ┣ 📜package-lock.json
 ┣ 📜package.json
 ┗ 📜tsconfig.json
Enter fullscreen mode Exit fullscreen mode

Antes de arrancar el proyecto se debe agregar el uri de mongo en el archivo config.ts

y despues ejecutar

npm start
Enter fullscreen mode Exit fullscreen mode

Crear las rutas y controladores:

Para crear las rutas y controladores se debe crear un archivo .json con la siguiente estructura:

{
  "name":{
    "type":"string",
    "required":true,
    "default":"'Andy'"
  },
  "cellphone":{
    "type":"number",
    "required":false
  },
  "isValid":{
    "type":"boolean",
    "required":true,
    "default":"true"
  }
}
Enter fullscreen mode Exit fullscreen mode

Y se debe ejecutar el siguiente comando para generar la ruta y controladores:

sabo generate -n=User -p="C:\models\user.json"
Enter fullscreen mode Exit fullscreen mode

Arrancamos el proyecto con

npm start
Enter fullscreen mode Exit fullscreen mode

Y ya se puede consumir el api rest desde cualquier cliente.

Create

Create

Update

Update

Delete

Delete

GetAll

GetAll

GetById

GetById

Top comments (0)