
Share:
)
Freundlicher Tech-Pädagoge, Familienvater, Verfechter der Vielfalt, streitet wahrscheinlich ein bisschen zu viel. Ehemals Backend-Ingenieur. Sprich mit mir über JavaScript (Frontend oder Backend), das erstaunliche Vue.js, DevOps, DevSecOps, alles was mit JamStack zu tun hat. Autorin auf DEV.to
5 Wege zur Erstellung einer Node.js-API
Dieser Artikel hilft Ihnen, eine kleine API auf fünf Arten zu erstellen, indem Sie Node.js und vier beliebten Frameworks.
Express.js ist eines der vielen HTTP-Frameworks, die für Node.js. Wir verwenden es für einen Großteil unserer Node.js Inhalte, da es eine große Auswahl an Addons und eine große Support-Community gibt.
Die Ähnlichkeiten bei der Erzeugung derselben Funktionalität in verschiedenen Frameworks können helfen, einen Einblick zu gewinnen, wenn eine unserer Demos in einem anderen Framework als dem des Tutorials implementiert wird. Das hoffe ich.
Express.js
Wir beginnen mit dem Bekannten. Express.js ist ein leichtgewichtiges und "rechthaberisches" Framework zur Erstellung von Node.js basierten Web- und Mobilanwendungen.
Einen Server erstellen
Erstellen Sie ein Projektverzeichnis mit Ihrer IDE oder diesem Befehl.
Erstellen Sie eine Datei für Ihre Anwendung (normalerweise app.js
oder index.js
).
Initialisieren Sie das Projekt mit NPM, indem Sie grundlegende NPM-Paketdateien erzeugen, ohne dass Sie Fragen mit dem y
Flagge zu beantworten.
Installieren Sie die Express.js Paket.
Ändern Sie index.js
und fügen Sie den folgenden Quellcode hinzu, um Ihre Anwendung und die example
Route.
// 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}`)
})
Den Server ausführen
Starten Sie die Anwendung über die node
Befehlszeile. Sie sind vielleicht gewohnt, dass npm start
verwendet, das in vielen Fällen ohnehin nur diesen Befehl für Ihre Anwendungsdatei ausführt.
Jetzt können Sie mit Postman eine Anfrage stellen, um die Antwort zu sehen.
Screenshot of making a request to the Express.js example API using Postman
Node.js Standard-Bibliotheken
Node.js verfügt über integrierte Pakete, die auf HTTP-Anfragen warten und Antworten erstellen können. Die anderen Frameworks vereinfachen dies und fügen mehrere andere Funktionen hinzu, die Sie sonst selbst entwickeln müssten.
Einen Server erstellen
Erstellen Sie ein Projektverzeichnis mit Ihrer IDE oder diesem Befehl.
Erstellen Sie eine Datei für Ihre Anwendung (normalerweise app.js
oder index.js
).
Wir brauchen NPM erst dann zu initialisieren, wenn wir Pakete installieren müssen. Für dieses Beispiel verwenden wir Pakete, die in Node.js also brauchen wir weder NPM noch irgendwelche Paketdateien (🎉🎉🎉 AND NO node_modules
VERZEICHNIS 🎉🎉🎉).
Ändern Sie index.js
und fügen Sie den folgenden Quellcode hinzu, um Ihre Anwendung und die example
Route.
// 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}`)
})
Den Server ausführen
Starten Sie die Anwendung über die node
Befehlszeile.
Jetzt können Sie mit Postman eine Anfrage stellen, um die Antwort zu sehen.
Screenshot of making a request to the Node.js example API using Postman
Koa.js
Koa.js, entwickelt von denselben Entwicklern, die auch für Express.jsKoa.js wurde mit dem Ziel entwickelt, schlanker und ausdrucksstärker zu sein, was einen schlankeren Code und eine deutlich verbesserte Fehlerbehandlung ermöglicht. Als solches kommt es mit weniger eingebauten Funktionen und einer großen Anzahl von Community-Erweiterungen.
Einen Server erstellen
Erstellen Sie ein Projektverzeichnis mit Ihrer IDE oder diesem Befehl.
Erstellen Sie eine Datei für Ihre Anwendung (normalerweise app.js
oder index.js
).
Initialisieren Sie das Projekt mit NPM, indem Sie grundlegende NPM-Paketdateien erzeugen, ohne dass Sie Fragen mit dem y
Flagge zu beantworten.
Installieren Koa.js und die unterstützenden Pakete zum Weiterleiten und Senden von JSON-Antworten. Anmerkung: Koa unterstützt kein Routing (außer Url-Bedingungen) oder JSON-Antworten ohne zusätzliches Paket.
Ändern Sie index.js
und fügen Sie den folgenden Quellcode hinzu, um Ihre Anwendung und die example
Route.
// 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)
Den Server ausführen
Starten Sie die Anwendung über die node
Befehlszeile.
Jetzt können Sie mit Postman eine Anfrage stellen, um die Antwort zu sehen.
Screenshot of making a request to the Koa.js example API using Postman
Restify
Restify ist eine Node.js Framework, das für die Erstellung semantisch korrekter, produktionsreifer RESTful-Webdienste in großem Umfang optimiert ist.
Einen Server erstellen
Erstellen Sie ein Projektverzeichnis mit Ihrer IDE oder diesem Befehl.
Erstellen Sie eine Datei für Ihre Anwendung (normalerweise app.js
oder index.js
).
Initialisieren Sie das Projekt mit NPM, indem Sie grundlegende NPM-Paketdateien erzeugen, ohne dass Sie Fragen mit dem y
Flagge zu beantworten.
Installieren Sie die Restify Paket.
Ändern Sie index.js
und fügen Sie den folgenden Quellcode hinzu, um Ihre Anwendung und die example
Route.
// 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}`)
})
Den Server ausführen
Starten Sie die Anwendung über die node
Befehlszeile.
Jetzt können Sie mit Postman eine Anfrage stellen, um die Antwort zu sehen.
Screenshot of making a request to the Restify example API using Postman
Hapi
hapi ist ein extrem skalierbares und leistungsfähiges Framework für Node.js. Es wurde ursprünglich entwickelt, um den Black Friday-Verkehr von Walmart in großem Umfang zu bewältigen, hapi ist weiterhin die bewährte Wahl für Backend-Anforderungen in Unternehmen.
Einen Server erstellen
Erstellen Sie ein Projektverzeichnis mit Ihrer IDE oder diesem Befehl.
Erstellen Sie eine Datei für Ihre Anwendung (normalerweise app.js
oder index.js
).
Initialisieren Sie das Projekt mit NPM, indem Sie grundlegende NPM-Paketdateien erzeugen, ohne dass Sie Fragen mit dem y
Flagge zu beantworten.
Installieren Sie die hapi Paket.
Ändern Sie index.js
und fügen Sie den folgenden Quellcode hinzu, um Ihre Anwendung und die example
Route.
// 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()
Den Server ausführen
Starten Sie die Anwendung über die node
Befehlszeile.
Jetzt können Sie mit Postman eine Anfrage stellen, um die Antwort zu sehen.
Screenshot of making a request to the hapi example API using Postman
Schlussfolgerung
Node.js kann als Barebone verwendet werden, aber Sie zahlen den Preis für die Unterstützung Ihrer eigenen Lösungen für Funktionen wie Routing und Antworttypen. Wenn Sie wissen, wie Sie Ihren Code am besten für die Leistung optimieren können, wird Ihre Anwendung schnell und mit wenig Paketaufblähung sein. Sie können Sie können Open-Source-Lösungen für Routing und andere Funktionen finden, ohne ein Framework wie das hier zu verwenden, aber an diesem Punkt können Sie genauso gut ein Framework verwenden.
Während Express.js nicht rechthaberisch ist, hat es eine Menge eingebauter Funktionen. Es ist nicht das schnellste, aber das bedeutet nicht, dass es langsam ist. Es ist sicherlich die einfachste Lösung für den Einstieg.
Restify wurde speziell für die Skalierung von RESTful-Anwendungen entwickelt und wird trotz seiner Einfachheit in einigen der größten Node.js Implementierungen der Welt verwendet.
hapi ist für eine schnelle Skalierung ausgelegt und bietet gleichzeitig alle Funktionen für den Einsatz in Unternehmen.
Koa.js ist eine async-freundliche Alternative zu Express.jsohne die eingebauten Funktionen.
Viele Entwickler entscheiden sich für die Variante mit dem besten Support oder der größten Community, was für mich eine klare Entscheidung zwischen hapi und Express.js.
Der gesamte Code
Sie finden ein einzelnes Repository mit dem gesamten Code auf GitHubfür den Fall, dass Sie Probleme mit den Beispielen hier haben.
Weitere Lektüre
Erstellen einer Check-In App mit Nexmos Verify API und Koa.js
SMS-Verifizierung in einer React Native App mit Node.js und Express hinzufügen
Erste Schritte mit den Number Insight APIs von Nexmo auf Koa.js
Wie man mit Node.js und Express SMS-Nachrichten sendet und empfängt
Erstellen einer Check-In App mit Nexmos Verify API und Koa.js
Vertrauenswürdige Gruppenauthentifizierung mit SMS und Express
Erstellen eines interaktiven Sprachdialogmenüs mit Node.js und Express
Benutzerdefinierte Voicemail mit Node.js, Express und Socket.io erstellen
Share:
)
Freundlicher Tech-Pädagoge, Familienvater, Verfechter der Vielfalt, streitet wahrscheinlich ein bisschen zu viel. Ehemals Backend-Ingenieur. Sprich mit mir über JavaScript (Frontend oder Backend), das erstaunliche Vue.js, DevOps, DevSecOps, alles was mit JamStack zu tun hat. Autorin auf DEV.to