Framework Express de Node.JS

Framework Express

Framework Express de Node.JS

Framework Express — Hay varios tipos de marcos de servidores de aplicaciones web NodeJS. Express es uno de los mejores marcos de Node.js que tiene una programación rápida del lado del servidor, una cobertura de prueba súper alta, un alto rendimiento y plantillas. Durante este artículo, construiremos APi que usará los verbos HTTP adecuados para que sea RESTful (GETPOSTPUT y DELETE) y devolverá datos JSON.


Primero, necesitamos crear una carpeta llamada “node_express”. Luego, necesitamos instalar express y NodeJs dentro de nuestra carpeta, ya que necesitamos usar el siguiente comando para crear un archivo package.json dentro de nuestra carpeta.

npm init

El archivo package.json se mostrará como se muestra a continuación.

{
"name": "node.js-express-framework",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}

Ahora instale Express en nuestra aplicación y guárdelo en la lista de dependencias usando el siguiente comando en la terminal.

npm install --save express

Luego, debemos crear un nuevo archivo “index.js” dentro de la carpeta “node_express”. Este archivo ‘index.js’ se utilizará para desarrollar nuestro servidor Express. El esqueleto de nuestra aplicación se muestra a continuación.

const express = require('express');
const app = express()app.get('/',(req,res) => {
    res.send('hello world')
})app.listen(3000, () => {
    console.log('server started on port 3000')
})

Nota: Para ejecutar esta aplicación web, escriba el siguiente comando en la terminal.

node index.js

Finalmente, navegue a http://localhost:3000 su navegador web.

Luego, podemos construir algunas API para nuestra aplicación. Primero, cree un nuevo archivo users.js y agregaremos un paquete JSON de usuario que es una matriz con cuatro objetos, cada objeto contiene tres datos.

const users = [
    {
        id: 1,
        name:gigi,
        email:'[email protected]'
    },
    {
        id: 2,
        name:sada,
        email:'[email protected]'
    },
    {
        id: 3,
        name:sahan,
        email:'[email protected]'
    },
    {
        id: 4,
        name:wick,
        email:'[email protected]'
    }
];module.exports = users;

Luego necesitamos instalar el administrador de paquetes “uuid” usando el siguiente comando.

npm install --save uuid

Después de eso, queremos crear la carpeta “routs” y dentro de la carpeta “routs”, crear la subcarpeta “api”. Dentro de la carpeta “api”, cree un archivo “users.js” y realice los siguientes cambios en GETPOSTPUT, and DELETE data.

const express = require('express');
const router = express.Router()
const uuid = require('uuid')
let users = require('../../users')//get all users
router.get("/",(req,res) => {
    res.json(users);
});//get user by id (filter)
router.get('/:id', (req,res)=>{
    const found = users.some(user => user.id === parseInt(req.params.id))    if(found){
        res.json(users.filter(user => user.id === parseInt(req.params.id)))
    }else{
        res.sendStatus(400);
    }
});//create a new user
router.post("/", (req,res)=> {
    const newUser = {
        id: uuid.v4(),
        name: req.body.name,
        email: req.body.email
    }    if(!newUser.name || !newUser.email) {
        return res.sendStatus(400)
    }    users.push(newUser)
    res.json(users)
});//update user (change imformation)
router.put('/:id', (req,res) => {
    const found = users.some(user => user.id === parseInt(req.params.id))    if(found) {
        const updateUser = req.body;
        users.forEach(user => {
            if(user.id === parseInt(req.params.id)){
                user.name = updateUser.name ? updateUser.name: user.name
                user.email = updateUser.email ? updateUser.email: user.email
                res.json({msg: "user updated", user})
            }
        })
    }
})//delete user
router.delete('/:id', (req,res) => {
    const found = users.some(user => user.id === parseInt(req.params.id));    if (found){
        users = users.filter((user) => user.id !== parseInt(req.params.id));
        res.json({
            msg: "user delete",
            users,
        });
    }else{
        res.sendStatus(400);
    }
});module.exports = router;

Finalmente, necesitamos cambiar nuestro archivo “index.js” de la siguiente manera.

const express = require('express');
const app = express()app.use(express.json())
app.use(express.urlencoded({extended:false}))app. use('/api/users', require('./routs/api/users'))app.listen(3000, () => {
    console.log('server started on port 3000')
})

Nota: puede probar el código usando cartero.

 

Prueba de la API con Postman

Postman nos ayudará a probar nuestra API. Básicamente, enviará solicitudes HTTP a una URL de nuestra elección. Lo que tiene que hacer es ingresar la URL de su solicitud, seleccionar un verbo HTTP y hacer clic en Enviar. Como ejemplo, escriba localhost:3000/api/users en la URL. GET es lo que queremos obtener datos. Ahora haga clic en Enviar.

 

Puede acceder al código completo aquí.

¡Gracias por leer 🙏!

Recent Post