Questa è un'implementazione di riferimento del server di prenotazione dell'API v3 per l'integrazione standard basata su Node.js
Prerequisiti
Richiede l'installazione di
Per iniziare
Il server di prenotazione è implementato utilizzando Node.js standard senza librerie o framework aggiuntivi, a scopo illustrativo. Se utilizzi altri framework, puoi modificare facilmente questa implementazione in Express.js, MEAN.js o qualsiasi altro framework basato su Node.js di tua scelta.
L'implementazione non utilizza nemmeno le librerie di buffer del protocollo, ma si basa sulla semplice serializzazione JSON e sui metodi JSON.parse() e JSON.stringify().
Per scaricare il progetto, esegui questo comando:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
L'intero codebase è costituito da soli due file JavaScript:
- bookingserver.js: logica di gestione di richieste e server HTTP, inclusa l'autenticazione
- apiv3methods.js - methods implementing API v3 interface
Dopo aver scaricato i file, puoi avviare il server di prenotazione eseguendo il comando:
node bookingserver.js
Lo scheletro scrive tutte le richieste in entrata e in uscita nella console, in modo da poter monitorare la sua esecuzione a scopo di tracciamento.
Se hai bisogno di un IDE per modifiche al codice o debug, puoi utilizzare Visual Studio Code o qualsiasi altro editor di tua scelta. Esegui il debug del progetto avviando bookingserver.js nell'ambiente Node.js e imposta i punti di interruzione dove necessario.
Testare il server di prenotazione
Scarica l'utilità di test delle prenotazioni. Per installarlo, segui le istruzioni di installazione fornite nella pagina README.
Per i test, devi creare un file di testo in cui archiviare le tue credenziali. Inserisci il nome utente e la password su una singola riga, ad esempio in un file denominato cred.txt:
username:password
Devi anche avere una copia locale di un feed della disponibilità per i tuoi commercianti di test. Nei comandi di esempio riportati di seguito, il feed Disponibilità è avail.json.
Ora puoi testare il server di prenotazione con questi comandi:
- Testa le chiamate al metodo HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- Chiamate di test al metodo CheckAvailability:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- Testa le chiamate ai metodi CreateBooking e UpdateBooking:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
Durante l'implementazione del tuo server di prenotazione, potresti dover eseguire test aggiuntivi (ad es. list_bookings_test, rescheduling_test e così via) con l'obiettivo di superare tutti i test (-all_tests=true).