Bu, Node.js tabanlı Standart Entegrasyon için API v3 Rezervasyon Sunucusu'nun referans uygulamasıdır.
Ön koşullar
Yüklenmesi gerekir:
Başlarken
Rezervasyon sunucusu, örnekleme amacıyla ek kitaplıklar veya çerçeveler olmadan standart Node.js kullanılarak uygulanır. Başka çerçeveler kullanıyorsanız bu uygulamayı kolayca Express.js, MEAN.js veya seçtiğiniz başka bir Node.js tabanlı çerçeveye değiştirebilirsiniz.
Uygulamada protokol arabellek kitaplıkları da kullanılmamaktadır. Bunun yerine basit JSON serileştirme ile JSON.parse() ve JSON.stringify() yöntemleri kullanılmaktadır.
Projeyi indirmek için aşağıdaki komutu yürütün:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
Kod tabanının tamamı yalnızca iki JavaScript dosyasından oluşur:
- bookingserver.js: Kimlik doğrulama dahil HTTP sunucusu ve istek işleme mantığı
- apiv3methods.js - API v3 arayüzünü uygulayan yöntemler
Dosyaları indirdikten sonra şu komutu çalıştırarak rezervasyon sunucusunu başlatabilirsiniz:
node bookingserver.js
İskelet, tüm gelen ve giden istekleri konsola yazar. Böylece, izleme amacıyla yürütülmesini izleyebilirsiniz.
Kod değişiklikleri veya hata ayıklama için bir IDE'ye ihtiyacınız olursa Visual Studio Code'u veya istediğiniz başka bir düzenleyiciyi kullanabilirsiniz. Node.js ortamında bookingserver.js dosyasını başlatarak projenin hatalarını ayıklayın ve gerektiğinde kesme noktaları ayarlayın.
Rezervasyon sunucunuzu test etme
Rezervasyon testi yardımcı programını indirin. Yüklemek için README sayfasındaki yükleme talimatlarını uygulayın.
Testler için kimlik bilgilerinizi saklayacağınız bir metin dosyası oluşturmanız gerekir. Kullanıcı adınızı ve şifrenizi tek bir satıra girin. Örneğin, cred.txt adlı bir dosyaya şu şekilde girebilirsiniz:
username:password
Ayrıca, test satıcılarınız için bir stok durumu feed'inin yerel kopyasına da ihtiyacınız vardır. Aşağıdaki örnek komutlarda, stok durumu feed'i avail.json'dur.
Artık rezervasyon sunucunuzu şu komutlarla test edebilirsiniz:
- HealthCheck yöntemine yapılan test çağrıları:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- CheckAvailability yöntemine yapılan test çağrıları:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- CreateBooking ve UpdateBooking yöntemlerine yapılan test çağrıları:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
Kendi rezervasyon sunucunuzu uygularken, tüm testlerin başarılı olması (-all_tests=true) amacıyla sunucunuza karşı ek testler (ör.list_bookings_test, rescheduling_test vb.) çalıştırmanız gerekebilir.