„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > MERN-Stack-Anwendung| Teil 2

MERN-Stack-Anwendung| Teil 2

Veröffentlicht am 08.11.2024
Durchsuche:769

MERN Stack Application| Part 2

Lassen Sie uns im Kontext einer mit dem MERN-Stack erstellten E-Commerce-Anwendung durchgehen, wie der Anfrage-Antwort-Zyklus funktioniert, wenn ein Benutzer versucht, Produktdetails abzurufen.

  1. Benutzerinteraktion im Frontend (Reagieren)

Ein Benutzer öffnet die E-Commerce-Website und möchte die Details eines Produkts anzeigen. Sie klicken möglicherweise auf eine Produktliste oder suchen nach einem bestimmten Artikel.

React, das für die Front-End-Benutzeroberfläche verantwortlich ist, erkennt diese Interaktion und löst eine Anfrage zum Abrufen von Produktdaten aus.

React stellt eine HTTP-Anfrage (mit Axios, Fetch oder ähnlichem) an das Backend und zielt auf einen Endpunkt wie /api/products/:id ab, wobei :id die eindeutige Kennung des Produkts ist.

  1. HTTP-Anfrage an Backend gesendet (Node.js/Express)

Der mit Node.js und Express erstellte Backend-Server wartet auf eingehende HTTP-Anfragen auf definierten Routen.

Wenn die Anfrage an /api/products/:id eintrifft, erkennt Express die Route und leitet die Anfrage an den entsprechenden Routenhandler weiter.

  1. Middleware-Verarbeitung (optional)

Bevor die Anfrage verarbeitet wird, durchläuft sie möglicherweise Middleware-Funktionen.

Middleware könnte beispielsweise die Anfragedetails protokollieren, prüfen, ob der Benutzer authentifiziert ist, oder die Anfrageparameter validieren.

Wenn alles in Ordnung ist, wird die Anfrage an den Routenhandler weitergeleitet. Andernfalls könnte die Middleware eine Fehlerantwort zurückgeben (z. B. „Unautorisierter Zugriff“).

  1. Interaktion mit Datenbank (MongoDB)

Sobald die Anfrage den entsprechenden Routenhandler erreicht, verwendet Express einen MongoDB-Treiber wie Mongoose, um die Datenbank abzufragen.

Die Abfrage könnte so aussehen: Product.findById(productId), wobei die Produkt-ID aus der URL extrahiert wird.

MongoDB ruft die Produktdetails, einschließlich Name, Preis, Beschreibung, Bilder und Verfügbarkeit, aus der Datenbank ab.

  1. Vorbereiten und Senden der Antwort

Nach dem Abrufen der Produktdetails von MongoDB verarbeitet Express die Daten.

Die Daten werden in ein JSON-Objekt formatiert, das alle notwendigen Informationen über das Produkt enthält.

Express sendet diese JSON-Antwort zurück an das React-Frontend.

  1. React empfängt und aktualisiert die Benutzeroberfläche

React erhält die Produktdetails in der Antwort.

Es verwendet die Daten, um die Benutzeroberfläche zu aktualisieren und den Namen, den Preis, die Bilder, die Beschreibung und andere relevante Informationen des Produkts anzuzeigen.

Wenn das Produkt nicht gefunden wird oder ein Fehler auftritt (z. B. „Produkt nicht verfügbar“), zeigt React dem Benutzer eine entsprechende Meldung an.

Beispiel für einen Anfrage-Antwort-Ablauf

  1. Benutzeraktion (Reagieren): Der Benutzer klickt auf der Startseite auf ein Produkt mit dem Namen „Kabellose Kopfhörer“.

  2. HTTP-Anfrage: React sendet eine GET-Anfrage an /api/products/12345, wobei 12345 die Produkt-ID für „Drahtlose Kopfhörer“ ist.

  3. Express Route Handling: Express empfängt die Anfrage und prüft, ob es eine Route für /api/products/:id gibt. Anschließend wird die Anfrage an den entsprechenden Handler weitergeleitet.

  4. Datenbankabfrage (MongoDB): Express verwendet Mongoose, um MongoDB abzufragen, und führt Product.findById("12345") aus, um Details zu den „Wireless Headphones“ abzurufen.

  5. Antwortbildung: Wenn das Produkt gefunden wird, sendet Express eine JSON-Antwort mit Details wie:

{
„id“: „12345“,
„name“: „Kabellose Kopfhörer“,
„Preis“: 59,99,
„description“: „Hochwertige kabellose Kopfhörer mit Geräuschunterdrückung.“,
"Bilder": ["Bild1.jpg", "Bild2.jpg"],
„Lager“: 20
}

  1. React-Updates-Benutzeroberfläche: React empfängt diese Daten und zeigt sie an, um dem Benutzer alles über die „Wireless Headphones“ zu zeigen. Wenn ein Fehler auftritt (z. B. „Produkt nicht gefunden“), zeigt React eine entsprechende Meldung an.

In diesem Flow veranschaulichte Schlüsselkonzepte

Asynchrone Anfragen: React verarbeitet Anfragen asynchron, sodass der Benutzer mit der App interagieren kann, während er auf Antworten wartet.

Konsistenter Datenfluss: Alle Komponenten (React, Express, MongoDB) kommunizieren über JSON und sorgen so für einen reibungslosen Datenfluss über den Stack.

Skalierbarkeit: Jede Komponente kann unabhängig skaliert werden, was die Bewältigung von wachsendem Traffic oder einer großen Anzahl von Produkten erleichtert.

Dieser Anfrage-Antwort-Zyklus zeigt effektiv, wie eine auf dem MERN-Stack basierende E-Commerce-Site Produktinformationen abruft und dem Benutzer ein nahtloses Erlebnis bietet.

Freigabeerklärung Dieser Artikel ist abgedruckt unter: https://dev.to/mrcaption49/mern-stack-application-part-2-1kjj?1 Bei Verstößen wenden Sie sich bitte an [email protected], um ihn zu löschen
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3