© Shutterstock.com/Muhammad ZA, Shutterstock.com/hudasaktian
Gestatten, Node.js – Teil 2

Web-APIs mit Node entwickeln


Eines der häufigsten Einsatzgebiete von Node.js ist das Entwickeln von Web-APIs. Dafür stehen zahlreiche Module aus der Community zur Verfügung, die eine ganze Reihe von Aspekten abdecken, beispielsweise Routing, Validierung und CORS.

Der erste Teil dieser Serie hat Node.js als serverseitige Laufzeitumgebung für JavaScript vorgestellt und gezeigt, wie man einen einfachen Webserver schreibt. Außerdem wurde die Paketverwaltung npm vorgestellt, mit der sich von der Community geschriebene Module leicht im Kontext der eigenen Anwendung installieren lassen. Auf der einen Seite sind also bereits einige Grundlagen bekannt, auf der anderen Seite fehlt es der bislang entwickelten Anwendung noch an sinnvoller Funktionalität.

Genau das wird sich in diesem Teil ändern: Die Anwendung, die bisher lediglich einen rudimentären Webserver startet, soll ein API zur Verfügung stellen, mit dem man eine Aufgabenliste verwalten kann. Dazu gilt es zunächst, einige fachliche Vorüberlegungen anzustellen, denn es muss definiert werden, was genau die Anwendung überhaupt leisten soll. Beispielsweise wären die folgenden Funktionen denkbar:

  • Es muss möglich sein, eine neue Aufgabe zu notieren. Eine solche besteht in der einfachsten Form lediglich aus einem Titel, der allerdings nicht leer sein darf.

  • Außerdem muss sich die Liste aller noch zu erledigenden Aufgaben abrufen lassen, damit man nachvollziehen kann, was noch zu tun ist.

  • Zu guter Letzt muss es möglich sein, eine erledigte Aufgabe abzuhaken, so dass sie aus der Liste der noch zu erledigenden Aufgaben entfernt wird.

Diese drei Funktionen sind essenziell, ohne sie kann eine Aufgabenliste nicht sinnvoll genutzt werden. Alle weiteren Funktionen, beispielsweise das Umbenennen einer Aufgabe oder das Widerrufen des Abhakens einer Aufgabe, sind hingegen optional. Natürlich wäre es im Sinne einer möglichst benutzerfreundlichen und komfortablen Anwendung durchaus sinnvoll, sie zu implementieren – wirklich notwendig sind sie aber nicht. Die drei zuvor genannten Funktionen stellen sozusagen den Umfang eines Minimum Viable Products (MVP) dar.

Eine weitere Einschränkung soll ebenfalls direkt zu Beginn festgelegt werden: Die Aufgabenliste soll bewusst nicht über eine Benutzerverwaltung verfügen, um das Beispiel überschaubar zu halten. Das bedeutet, dass es weder eine Authentifizierung noch eine Autorisierung gibt, und dass es nicht möglich sein wird, mehrere Aufgabenlisten für verschiedene Personen zu verwalten. Auch das wäre für eine produk...

Exklusives Abo-Special

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang