Buchungsserver-Skeleton für Node.js

Dies ist eine Referenzimplementierung der API Version 3-Buchungsserver für Standardintegration und der API Version 3-Buchungsserver für Wartelistenintegration, die auf Node.js basiert.

Voraussetzungen

Erfordert die Installation von

Einstieg

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

Die Implementierung verwendet ebenfalls keine Protokollpufferbibliotheken, sondern nutzt stattdessen die einfache JSON-Serialisierung und ihre 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 – HTTP-Server und Logik für die Verarbeitung von Anfragen, einschließlich Authentifizierung
  • apiv3methods.js – Methoden zur Implementierung der API Version 3

Nachdem Sie die Dateien heruntergeladen haben, können Sie den Buchungsserver mit dem folgenden Befehl starten:

node bookingserver.js

Das Skeleton schreibt alle ein- und ausgehenden Anfragen in die Konsole, sodass Sie die Ausführung für Tracingzwecke ü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. Beheben Sie Fehler im Projekt, indem Siebookserver.js in der Node.js-Umgebung starten und bei Bedarf Haltepunkte festlegen.

Buchungsserver testen

Laden Sie das Buchungstestprogramm herunter. Folgen Sie für die Installation der Anleitung auf der zugehörigen README-Seite.

Für die Tests müssen Sie eine Textdatei zum Speichern Ihrer Anmeldedaten erstellen. Geben Sie Ihren Nutzernamen und Ihr Passwort in eine einzelne Zeile ein, z. B. in einer Datei mit dem Namen 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.

Sie können Ihren Buchungsserver jetzt mit diesen Befehlen testen:

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

Wenn Sie Ihren eigenen Buchungsserver implementieren, müssen Sie möglicherweise zusätzliche Tests durchführen (z. B. list_bookings_test, reschedule_test usw.), um alle Tests zu bestehen (-all_tests=true).