Node.js 預訂伺服器 Skeleton

這是以 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 v3 介面的方法

下載檔案後,請執行下列指令來啟動預訂伺服器:

node bookingserver.js

架構會將所有傳入和傳出要求寫入控制台,以便您監控其執行作業以用於追蹤。

如果您需要透過 IDE 進行程式碼變更或偵錯,可以使用 Visual Studio Code 或您選擇的任何其他編輯器。在 Node.js 環境中啟動預訂 server.js,並視需要設定中斷點,以便對專案進行偵錯。

測試預訂伺服器

下載預訂測試公用程式。如要安裝這個套件,請按照其 README 頁面中提供的安裝操作說明進行。

對於測試,您必須建立文字檔案來儲存憑證。請在一行中輸入使用者名稱和密碼,例如在名為 cred.txt 的檔案中:

使用者名稱:密碼

您也需要為測試商家準備供應情形動態饋給的本機副本。在下方的範例指令中,供應情形動態饋給為 availability.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)。