Buchungsserver-Skeleton für Node.js

Dies ist eine Referenzimplementierung des Buchungsservers der API Version 3 für Standardintegration, der auf Node.js basiert

Voraussetzungen

Erfordert die Installation von

Erste Schritte

Der Buchungsserver wird mithilfe des standardmäßigen Node.js ohne zusätzliche Bibliotheken oder Frameworks zur Veranschaulichung implementiert. Wenn Sie andere Frameworks verwenden, können Sie diese Implementierung einfach in Express.js, MEAN.js oder ein anderes Node.js-basiertes Framework Ihrer Wahl ändern.

Die Implementierung verwendet ebenfalls keine Protokollpufferbibliotheken, sondern stützt sich stattdessen auf die einfache JSON-Serialisierung und die zugehörigen Methoden JSON.parse() und JSON.stringify().

Führen Sie den folgenden Befehl aus, um das Projekt herunterzuladen:

git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton

Die gesamte Codebasis besteht nur aus zwei JavaScript-Dateien:

  • „bookingserver.js“ (Buchungsserver) – der HTTP-Server und die Verarbeitungslogik für Anfragen, einschließlich der Authentifizierung
  • apiv3methods.js - Methoden zur Implementierung der API v3-Schnittstelle

Nachdem du die Dateien heruntergeladen hast, kannst du den Buchungsserver mit folgendem Befehl starten:

node bookingserver.js

Das Grundgerüst schreibt alle ein- und ausgehenden Anfragen in die Console, sodass Sie ihre Ausführung zu Tracing-Zwecken überwachen können.

Wenn Sie eine IDE für Codeänderungen oder zur Fehlerbehebung benötigen, können Sie Visual Studio Code oder einen anderen Editor Ihrer Wahl verwenden. Wenn du Fehler im Projekt beheben möchtest, starte „bookingserver.js“ in der Node.js-Umgebung und setze bei Bedarf Haltepunkte.

Buchungsserver testen

Lade das Buchungstestdienstprogramm herunter. Folgen Sie der Installationsanleitung auf der zugehörigen README-Seite, um sie zu installieren.

Für die Tests müssen Sie eine Textdatei erstellen, in der Sie Ihre Anmeldedaten speichern. Geben Sie Ihren Nutzernamen und Ihr Passwort in einer einzigen Zeile ein, z. B. in einer Datei namens cred.txt:

Nutzername:Passwort

Außerdem benötigen Sie eine lokale Kopie eines Verfügbarkeitsfeeds für Ihre Testhändler. In den folgenden Beispielbefehlen ist der Verfügbarkeitsfeed „avail.json“.

Jetzt kannst du deinen Buchungsserver mit diesen Befehlen testen:

  • Testaufrufe an die HealthCheck-Methode:
    bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
    
  • Testaufrufe an die Methode „CheckAvailability“:
    bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    
  • Testaufrufe der Methoden „CreateBooking“ und „UpdateBooking“:
    bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
    

Wenn du deinen eigenen Buchungsserver implementierst, musst du möglicherweise zusätzliche Tests mit ihm durchführen (z. B. list_bookings_test, reschedule_test usw.), damit alle Tests bestanden werden (-all_tests=true).