Coder Social home page Coder Social logo

vanilla-nodejs-api's Introduction

Servidor REST API sin frameworks

Este servidor está listo para comenzar a recibir y manejar peticiones. Dejo los archivos de rutas y controladores de ejemplo, se pueden añadir nuevas rutas, nuevos controladores, servicios y modelos según considere. Todo el enrutamiento está hecho con elementos nativos de Node Js en su versión más reciente (15.7.0).

Getting Started

Para iniciar el proyecto, ejecutar el comando npm start

Una vez iniciado, desde otra consola o herramienta intenta hacer una petición a cualquiera de las rutas registradas en el indexRoutes

Por ejemplo: curl '[::1]:5000/api?id=14&user=daniel' -i

Agregar Rutas

Para agregar un nueva ruta debes indicar cual será la ruta base en el archivo index.js e indicar el archivo de donde obtendrá las rutas secundarias.

Por ejemplo si la ruta completa es /api/foo/someparam. La base sería /api.

En el archivo de rutas ubicado en la carpeta routes se debe crear un archivo que contenga un arreglo llamado routes donde se deben agregar las rutas secundarias que pueden contener parámetros dentro de ella. Si deseas agregar parámetros dentro de la url puedes hacerlo anteponiendo ":" antes del nombre de la variable.

Ejemplo:

const {indexController} = require('../controllers/index.controller');
class IndexRoutes {
routes = [
        { 
            method: 'get', 
            path: '/foo/:id/', 
            controller: indexController.getIdIndex 
        },
        { method: 'post', path: '', controller: indexController.postIndex },
        { method: 'put', path: '/:user', controller: indexController.putIndex },
        { method: 'patch', path: '/:casa', controller: indexController.patchIndex },
        { method: 'delete', path: '/:direccion', controller: indexController.deleteIndex },
    ]
}
const indexRoutes = new IndexRoutes()
module.exports = { indexRoutes }

Agregar Controlador

Crear un archivo con el nombre correspondiente y los métodos o funciones necesarios para manejar las peticiones que recibirá el servidor.

Ejemplo:

class Controller {
    async getIndex(req, res) {
        res.writeHead(200, { 'Content-Type': 'application/json' })
        res.end(JSON.stringify({ msg: 'Bienvenido al index GET' }))
    }
}
const indexController = new Controller();
module.exports = { indexController }

Consideraciones

  • Este repositorio no es un producto final sino que solo es una muestra para que puedan ver algunas de mis habilidades como desarrollador.
  • Para mayor información de mi, me pueden escribir a [email protected] o en mi web www.danielboggiano.com

vanilla-nodejs-api's People

Contributors

danielboggianosa avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.