
Compartir:
Amable educador tecnológico, padre de familia, defensor de la diversidad, probablemente discuta demasiado. Anteriormente ingeniero de backend. Háblame de JavaScript (frontend o backend), el increíble Vue.js, DevOps, DevSecOps, cualquier cosa JamStack. Escritor en DEV.to
5 formas de crear una API Node.js
Este artículo le ayudará a construir una pequeña API de cinco maneras, utilizando Node.js y cuatro frameworks populares.
Express.js es uno de los muchos frameworks HTTP disponibles para Node.js. Lo utilizamos para muchas de nuestras aplicaciones Node.js debido a la gran variedad de complementos y a su amplia comunidad de soporte.
Las similitudes de la producción de la misma funcionalidad en diferentes frameworks puede ayudar a proporcionar una idea a la hora de implementar una de nuestras demos en un framework diferente al del tutorial. Eso espero.
Express.js
Empezaremos por lo conocido. Express.js es un framework ligero y "no especializado" para producir aplicaciones Node.js basadas en Node.js.
Crear un servidor
Crea un directorio de proyecto con tu IDE o con este comando.
Cree un archivo para su aplicación (normalmente app.js o index.js).
Inicializar el proyecto con NPM mediante la generación de archivos de paquetes NPM básicos sin tener que responder a ninguna pregunta con la bandera y bandera.
Instalar Express.js paquete.
Modifica index.js y añade el siguiente código fuente para crear tu aplicación y la ruta example ruta.
// index.js
const express = require('express')
const app = express()
const port = process.env.PORT || 3000
app.get('/example', (req, res) => {
res.json({ message: 'Looks good to me!' })
})
app.listen(port, () => {
console.log(`listening on port ${port}`)
})
Ejecutar el servidor
Inicie la aplicación mediante la línea de comandos node línea de comandos. Puede que estés acostumbrado a npm start que en muchos casos sólo ejecuta este comando en el archivo de la aplicación.
Ahora puedes hacer una petición usando Postman para ver la respuesta.

Bibliotecas estándar de Node.js
Node.js tiene paquetes integrados capaces de escuchar peticiones HTTP y construir respuestas. Los otros frameworks simplifican esto, además de añadir muchas otras características que de otro modo tendrías que construir.
Crear un servidor
Crea un directorio de proyecto con tu IDE o con este comando.
Cree un archivo para su aplicación (normalmente app.js o index.js).
No necesitamos inicializar NPM hasta que necesitemos instalar paquetes. Para este ejemplo, usaremos paquetes incorporados en Node.js así que no necesitamos NPM ni ningún archivo de paquetes (🎉🎉🎉 Y NO node_modules DIRECTORIO 🎉🎉🎉).
Modifica index.js y añade el siguiente código fuente para crear tu aplicación y la ruta example ruta.
// index.js
const http = require('http')
const port = process.env.PORT || 3000
const requestHandler = (req, res) => {
if (req.url === '/example' && req.method === 'GET') {
res.writeHead(200, { 'Content-Type': 'application/json' })
res.end(JSON.stringify({ message: 'Node.js only: Looks good to me!' }))
} else {
res.writeHead(404, { 'Content-Type': 'application/json' })
res.end(JSON.stringify({ message: 'Not found!' }))
}
}
const server = http.createServer(requestHandler)
server.listen(port, () => {
console.log(`listening on port ${port}`)
})
Ejecutar el servidor
Inicie la aplicación mediante la línea de comandos node línea de comandos.
Ahora puedes hacer una petición usando Postman para ver la respuesta.

Koa.js
Koa.jsdiseñado por los mismos creadores de Express.jsha sido diseñado para ser más ligero y expresivo, lo que permite un código más fino y un mayor control de errores. Como tal, viene con menos características incorporadas y un amplio conjunto de extensiones de la comunidad.
Crear un servidor
Crea un directorio de proyecto con tu IDE o con este comando.
Cree un archivo para su aplicación (normalmente app.js o index.js).
Inicializar el proyecto con NPM mediante la generación de archivos de paquetes NPM básicos sin tener que responder a ninguna pregunta con la bandera y bandera.
Instalar Koa.js y los paquetes de soporte para enrutar y enviar respuestas JSON. Nota: Koa no soporta enrutamiento (además de condiciones url), o respuestas JSON, sin paquete extra.
Modifica index.js y añade el siguiente código fuente para crear tu aplicación y la ruta example ruta.
// index.js
const Koa = require('koa')
const Router = require('@koa/router')
const json = require('koa-json')
const app = new Koa()
const router = new Router()
const port = process.env.PORT || 3000
app
.use(router.routes())
.use(router.allowedMethods())
.use(json({ pretty: false }))
router.get('/example', (ctx) => {
ctx.body = { message: 'Koa.js: Looks good to me!' }
})
app.listen(3000)
Ejecutar el servidor
Inicie la aplicación mediante la línea de comandos node línea de comandos.
Ahora puedes hacer una petición usando Postman para ver la respuesta.

Restify
Restify es una aplicación Node.js optimizado para crear servicios web RESTful semánticamente correctos y listos para su uso en producción a gran escala.
Crear un servidor
Crea un directorio de proyecto con tu IDE o con este comando.
Cree un archivo para su aplicación (normalmente app.js o index.js).
Inicializar el proyecto con NPM mediante la generación de archivos de paquetes NPM básicos sin tener que responder a ninguna pregunta con la bandera y bandera.
Instalar Restify Restify.
Modifica index.js y añade el siguiente código fuente para crear tu aplicación y la ruta example ruta.
// index.js
var restify = require('restify')
const port = process.env.PORT || 3000
var server = restify.createServer()
server.get('/example', (req, res, next) => {
res.json({ message: 'Restify: Looks good to me!' })
next()
})
server.listen(port, function() {
console.log(`listening on port ${port}`)
})
Ejecutar el servidor
Inicie la aplicación mediante la línea de comandos node línea de comandos.
Ahora puedes hacer una petición usando Postman para ver la respuesta.

Hapi
hapi es un framework extremadamente escalable y capaz para Node.js. Desarrollado inicialmente para gestionar a escala el tráfico del Black Friday de Walmart, hapi sigue siendo la opción probada para las necesidades de backend de nivel empresarial.
Crear un servidor
Crea un directorio de proyecto con tu IDE o con este comando.
Cree un archivo para su aplicación (normalmente app.js o index.js).
Inicializar el proyecto con NPM mediante la generación de archivos de paquetes NPM básicos sin tener que responder a ninguna pregunta con la bandera y bandera.
Instale el hapi paquete.
Modifica index.js y añade el siguiente código fuente para crear tu aplicación y la ruta example ruta.
// index.js
const Hapi = require('@hapi/hapi')
const port = process.env.PORT || 3000
const init = async () => {
const server = Hapi.server({
port: port,
host: 'localhost'
})
server.route({
method: 'GET',
path: '/example',
handler: (req, h) => {
return { message: 'hapi: Looks good to me!' }
}
})
await server.start()
console.log('Server running on %s', server.info.uri)
}
init()
Ejecutar el servidor
Inicie la aplicación mediante la línea de comandos node línea de comandos.
Ahora puedes hacer una petición usando Postman para ver la respuesta.

Conclusión
Node.js puede usarse sin más, pero pagas el precio de tener que dar soporte a tus propias soluciones para características como el enrutamiento y los tipos de respuesta. Su aplicación será rápida, con poca sobrecarga de paquetes, si está familiarizado con la mejor manera de optimizar su código para el rendimiento. En puede encontrar soluciones de código abierto para el enrutamiento y otras características, sin necesidad de utilizar un marco como los de aquí, pero en ese punto, es posible que también utilice un marco.
Mientras que Express.js es poco intuitivo, tiene un montón de características incorporadas. No es el más rápido, pero eso no significa que sea lento. Es sin duda el más fácil para empezar.
Restify se ha creado específicamente para escalar aplicaciones RESTful y, a pesar de su simplicidad, se utiliza en algunas de las mayores aplicaciones de Node.js más grandes del mundo.
hapi está diseñado para escalar con rapidez y, al mismo tiempo, disponer de todas las funciones y estar preparado para la empresa.
Koa.js es una alternativa asíncrona a Express.jssin las características incorporadas.
Muchos desarrolladores elegirán el que tenga el mejor soporte o la mayor comunidad, lo que para mí es una clara elección entre hapi y Express.js.
Todo el Código
Puede encontrar un único repositorio con todo el código en GitHuben caso de que tengas problemas con los ejemplos de aquí.
Lecturas complementarias
Creación de una aplicación de registro con Verify API de Nexmo y Koa.js
Añade verificación por SMS en una aplicación React Native usando Node.js y Express
Creación de una aplicación de registro con Verify API de Nexmo y Koa.js
Creación de una Aplicación de Chat de Voz con Vue.js y Express
Crear un menú interactivo de respuesta de voz con Node.js y Express
Crear un buzón de voz personalizado con Node.js, Express y Socket.io
Compartir:
Amable educador tecnológico, padre de familia, defensor de la diversidad, probablemente discuta demasiado. Anteriormente ingeniero de backend. Háblame de JavaScript (frontend o backend), el increíble Vue.js, DevOps, DevSecOps, cualquier cosa JamStack. Escritor en DEV.to