To jest referencyjna implementacja serwera rezerwacji interfejsu API w wersji 3 do integracji standardowej oparta na Node.js
Wymagania wstępne
Wymaga zainstalowania
Pierwsze kroki
Serwer rezerwacji został wdrożony za pomocą standardowego środowiska Node.js bez żadnych dodatkowych bibliotek ani platform. Jeśli korzystasz z innych platform, możesz łatwo zmienić je na Express.js, MEAN.js lub dowolną inną platformę opartą na Node.js.
Implementacja również nie korzysta z bibliotek bufora protokołów, ale opiera się na prostej serializacji JSON oraz metodach JSON.parse() i JSON.stringify().
Aby pobrać projekt, wykonaj to polecenie:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
Cała baza kodu składa się tylko z 2 plików JavaScript:
- rezerwacja_serwera.js – serwer HTTP i logika do obsługi żądań, w tym uwierzytelnianie.
- apiv3methods.js – metody implementujące interfejs API v3
Po pobraniu plików możesz uruchomić serwer rezerwacji, uruchamiając polecenie:
node bookingserver.js
Szkielet zapisuje wszystkie żądania przychodzące i wychodzące w konsoli, dzięki czemu możesz monitorować ich wykonywanie na potrzeby śledzenia.
Jeśli potrzebujesz IDE do zmiany kodu lub debugowania, możesz użyć Visual Studio Code lub dowolnego innego edytora. Zdebuguj projekt, uruchamiając skrypt rezerwacji.js w środowisku Node.js i ustawiając punkty przerwania tam, gdzie to konieczne.
Testowanie serwera rezerwacji
Pobierz narzędzie do testowania rezerwacji. Aby ją zainstalować, postępuj zgodnie z instrukcjami instalacji podanymi na stronie README.
Na potrzeby testów musisz utworzyć plik tekstowy do przechowywania danych logowania. Wpisz swoją nazwę użytkownika i hasło w jednym wierszu, na przykład w pliku cred.txt:
nazwa_użytkownika:hasło
Potrzebna jest również lokalna kopia pliku danych o dostępności dla sprzedawców testowych. W przykładowych poleceniach poniżej kanał dostępności ma format dostępnym w formacie.json.
Teraz możesz przetestować serwer rezerwacji za pomocą tych poleceń:
- Przetestuj wywołania metody HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- Przetestuj wywołania metody CheckAvailability:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- Przetestuj wywołania metod CreateBooking i UpdateBooking:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
W związku z tym, że wdrażasz własny serwer rezerwacji, może być konieczne przeprowadzenie dodatkowych testów (np.list_bookings_test, rescheduling_test itp.) z celem wszystkich zaliczonych testów (-all_tests=true).