Questa è un'implementazione di riferimento del server di prenotazione 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 facilmente modificare questa implementazione in Express.js, MEAN.js o qualsiasi altro framework basato su Node.js a tua scelta.
L'implementazione non utilizza nemmeno le librerie di buffer del protocollo, ma si basa su una semplice serializzazione JSON e sui relativi metodi JSON.parse() e JSON.stringify().
Per scaricare il progetto, esegui il seguente comando:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
L'intera base di codice è composta da soli due file JavaScript:
- bookingserver.js: logica di gestione del server HTTP e delle richieste, inclusa l'autenticazione
- apiv3methods.js: metodi che implementano l'interfaccia API v3
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 monitorarne l'esecuzione a fini di tracciamento.
Se hai bisogno di un IDE per le modifiche o il debug del codice, puoi utilizzare Visual Studio Code o qualsiasi altro editor scelto da te. Esegui il debug del progetto avviando bookingserver.js nell'ambiente Node.js e imposta i breakpoint dove necessario.
Testare il server di prenotazione
Scarica l'utilità di test delle prenotazioni. Per installarlo, segui le istruzioni di installazione riportate nella pagina README.
Per i test, devi creare un file di testo per archiviare le tue credenziali. Inserisci il tuo nome utente e la tua password su una singola riga, ad esempio in un file chiamato cred.txt:
username:password
Inoltre, devi disporre di una copia locale di un feed di disponibilità per i commercianti di prova. Nei comandi di esempio riportati di seguito, il feed di 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"
- Prova le chiamate 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"
Quando implementi il tuo Booking Server, 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).