這是以 Node.js 為基礎的 API v3 標準整合預訂伺服器參考實作項目
必要條件
需要安裝
開始使用
為方便說明,本範例使用標準 Node.js 實作預訂伺服器,但不使用任何額外的程式庫或架構。如果您使用其他架構,可以輕鬆將此實作項目變更為 Express.js、MEAN.js 或任何其他您偏好的 Node.js 架構。
實作項目也不使用通訊協定緩衝區程式庫,而是仰賴簡單的 JSON 序列化,以及其 JSON.parse() 和 JSON.stringify() 方法。
如要下載專案,請執行下列指令:
git clone https://maps-booking.googlesource.com/js-maps-booking-rest-server-v3-skeleton
整個程式碼集只包含兩個 JavaScript 檔案:
- bookingserver.js:HTTP 伺服器和要求處理邏輯,包括驗證
- apiv3methods.js - 實作 API 第 3 版介面的程式
下載檔案後,您可以執行下列指令來啟動預訂伺服器:
node bookingserver.js
骨架會將所有傳入和傳出要求寫入控制台,方便您監控執行情形以便追蹤。
如果您需要 IDE 來變更程式碼或進行偵錯,可以使用 Visual Studio Code 或任何其他編輯器。在 Node.js 環境中啟動 bookingserver.js,並視需要設定中斷點,以便對專案進行偵錯。
測試預訂伺服器
下載預訂測試公用程式。如要安裝,請按照 README 頁面提供的安裝操作說明進行。
為了進行測試,您需要建立文字檔來儲存憑證。在單一行中輸入使用者名稱和密碼,例如在名為 cred.txt 的檔案中輸入:
username:password
你也需要測試商家的可用性動態饋給本機副本。在下方的範例指令中,供應情形動態饋給為 avail.json。
您現在可以使用下列指令測試預訂伺服器:
- 測試對 HealthCheck 方法的呼叫:
bin/bookingClient -server_addr="localhost:8080" -health_check_test=true -credentials_file="./cred.txt"
- 測試對 CheckAvailability 方法的呼叫:
bin/bookingClient -server_addr="localhost:8080" -check_availability_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
- 測試對 CreateBooking 和 UpdateBooking 方法的呼叫:
bin/bookingClient -server_addr="localhost:8080" -booking_test=true -availability_feed="./avail.json" -credentials_file="./cred.txt"
由於您要自行實作預訂伺服器,因此可能需要針對該伺服器執行其他測試 (例如 list_bookings_test、rescheduling_test 等),目標是讓所有測試都通過 (-all_tests=true)。