Node.js 用予約サーバー スケルトン

これは、Node.js に基づく標準統合用の API v3 予約サーバーのリファレンス実装です。

前提条件

インストールが必要

スタートガイド

Booking Server は、説明のために、追加のライブラリやフレームワークを使用せずに標準の 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 環境で bookingserver.js を起動してプロジェクトをデバッグし、必要に応じてブレークポイントを設定します。

予約サーバーのテスト

予約テスト ユーティリティをダウンロードします。インストールするには、README ページに記載されているインストール手順に沿って操作します。

テストでは、認証情報を保存するテキスト ファイルを作成する必要があります。ユーザー名とパスワードを 1 行で入力します。たとえば、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"

独自の予約サーバーを実装する際に、すべてのテストに合格する(-all_tests=true)ことを目指して、追加のテスト(list_bookings_test、rescheduling_test など)を実行する必要がある場合があります。