Zum Hauptinhalt springen

MVC-Architektur

Die MVC-Architektur (Model-View-Controller) ist ein weit verbreitetes Muster, das hilft, den Code einer Anwendung klar zu strukturieren und die Verantwortlichkeiten zu trennen. In einer API ohne Frontend-Anwendung wird oft nur der Model- und Controller-Teil genutzt, da Views typischerweise für das Rendern von HTML in Webanwendungen verwendet werden. Für unsere REST-API mit Express bedeutet MVC, dass wir Datenlogik (Models), Routen-Logik (Controller) und Routen-Endpunkte trennen.

MVC Architektur

Model

  • Die Models repräsentieren die Datenstruktur der Anwendung und enthalten die Logik für den Zugriff auf und die Manipulation von Daten.
  • In unserem Fall könnten die Models für unsere Produktdaten verantwortlich sein und z. B. in einer Datenbank (später integrierbar) gespeichert werden.

View

  • Views werden in REST-APIs oft weggelassen oder stellen stattdessen JSON-Daten dar, die vom Controller an den Client zurückgesendet werden.

Controller

  • Die Controller-Schicht übernimmt die Anwendungslogik und verarbeitet Anfragen. Sie ruft die erforderlichen Daten aus den Models ab und sendet die Antwort zurück.
  • Für jede Ressource, z. B. Products, gibt es einen eigenen Controller, der CRUD-Operationen verwaltet.

2. MVC-Ordnerstruktur

Um unsere API in MVC zu organisieren, erstellen wir eine Verzeichnisstruktur, die die drei Hauptteile trennt:

mini-api/

├── controllers/
│ └── product-controller.js

├── models/
│ └── product-model.js

├── routes/
│ └── product-routes.js

├── index.js
└── package.json

Aufgabe: API in MVC umstrukturieren

  1. Ordnerstruktur erstellen: Erstelle die Verzeichnisstruktur (controllers, models, routes).
  2. Model-Logik hinzufügen: Verschiebe die Produktdaten und -methoden in productModel.js.
  3. Controller erstellen: Implementiere die CRUD-Logik im Controller productController.js.
  4. Routes definieren: Verknüpfe die Routen in productRoutes.js mit den Controllern.
  5. Server einrichten: Importiere die Routes in index.js und starte den Server.

Sobald die Umstrukturierung abgeschlossen ist, kannst du die API-Endpunkte testen, um sicherzustellen, dass die Funktionalität unverändert bleibt. Die MVC-Architektur verbessert die Lesbarkeit und Wartbarkeit der API erheblich, da alle Komponenten klar getrennt sind.