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

コードベース全体は、次の 2 つの JavaScript ファイルのみで構成されています。

  • bookingserver.js - HTTP サーバーとリクエスト処理ロジック(認証を含む)
  • apiv3methods.js - API v3 インターフェースを実装するメソッド

ファイルをダウンロードしたら、次のコマンドを実行して予約サーバーを起動できます。 次のコマンドを実行します。

node bookingserver.js

スケルトンはすべての受信リクエストと送信リクエストをコンソールに書き込むため、 トレース目的で実行をモニタリングできます

コードの変更やデバッグのために IDE が必要な場合は、 Visual Studio Code など 任意のエディタを使用できます。プロジェクトをデバッグするには、 Node.js 環境で実行し、必要に応じてブレークポイントを設定します。

予約サーバーのテスト

ダウンロード 予約テスト ユーティリティインストールの手順については、 README ページを参照してください。

テスト用に、認証情報を保存するテキスト ファイルを作成する必要があります。 ファイルなどでは、ユーザー名とパスワードを 1 行で入力します。 作成します。

ユーザー名:パスワード

テスト用の販売者には、在庫状況フィードのローカルコピーも必要です。 以下のサンプル コマンドでは、空室状況フィードは 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)。