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

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

Prerequisites

次のサービスのインストールが必要です:

はじめに

予約サーバーは標準の 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 ファイルのみで構成されています。

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

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

node bookingserver.js

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

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

予約サーバーをテストする

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

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

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