Esta é uma implementação de referência de Servidor de agendamento da API v3 para integração padrão e Servidor de agendamento da API v3 para integração de listas de espera com base no Node.js
Pré-requisitos
Exige uma instalação de
- Node.js (link em inglês)
Primeiros passos
O servidor de reserva é implementado usando o Node.js padrão sem bibliotecas ou frameworks adicionais, para fins de ilustração. Se você usa outras estruturas, é possível alterar facilmente essa implementação para Express.js, MEAN.js ou qualquer outro framework baseado em Node.js de sua escolha.
A implementação também não está usando bibliotecas de buffer de protocolo, mas depende da serialização JSON simples e dos métodos JSON.parse() e JSON.stringify()
Para fazer o download do projeto, execute o seguinte comando:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
Toda a base de código consiste apenas em dois arquivos JavaScript:
- reservaserver.js: servidor HTTP e solicitação de lógica de processamento, incluindo autenticação
- apiv3methods.js: métodos que implementam a interface da API v3
Depois de fazer o download dos arquivos, execute o comando:
node bookingserver.js
O esqueleto grava todas as solicitações de entrada e saída no console. Assim, é possível monitorar a execução dele para fins de rastreamento.
Se você precisar de um ambiente de desenvolvimento integrado para alterações de código ou depuração, use o Visual Studio Code ou qualquer outro editor de sua escolha. Depure o projeto iniciando bookingsserver.js no ambiente Node.js e defina pontos de interrupção quando necessário.
Como testar seu servidor de agendamento
Faça o download do Utilitário de teste de agendamento. Para instalá-lo, siga as instruções de instalação fornecidas na página README.
Para os testes, é necessário criar um arquivo de texto para armazenar suas credenciais. Digite o nome de usuário e a senha em uma única linha, por exemplo, em um arquivo chamado cred.txt:
nomedeusuario:senha
Você também precisa de uma cópia local de um feed de disponibilidade para os comerciantes de teste. Nos exemplos de comandos abaixo, o feed de disponibilidade é avail.json.
Agora você pode testar seu servidor de agendamento com estes comandos:
- Chamadas de teste para o método HealthCheck:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- Chamadas de teste para o método CheckAvailability:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- Teste as chamadas para os métodos CreateBooking e UpdateBooking:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
À medida que você implementa seu próprio servidor de agendamento, talvez seja necessário executar outros testes nele (por exemplo, list_bookings_test, reschedule_test etc.) com o objetivo de passar em todos os testes (-all_tests=true).