これは、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 など)を実行する必要がある場合があります。