第5章 クラウドアプリのカスタマイズ

クラウドアプリの機能について理解を深めるために、コードにマイナーな修正を加えてみましょう。サーバーからの応答に、現在の UNIX タイムスタンプの値を持つ timestamp フィールドを追加します。以下のセクションでは、クライアントアプリを修正してタイムスタンプを表示するようにします。

  1. 上部のナビゲーションバーで プロジェクト エリアに移動します。
  2. My Hello World Project プロジェクトを開きます。
  3. クラウドアプリ を開きます。
  4. 左側のサイドバーにある エディター をクリックします。

    このエリアでは、クラウドアプリの Git リポジトリーにあるファイルのソースコードを編集できます。このプロジェクトのクラウドアプリは、Express と呼ばれる Node.js web アプリケーションです。

    エディター

  5. application.js ファイルを開きます。

    application.js は、クラウドアプリへのリクエストすべてを処理します。クライアントアプリがリクエストを /hello エンドポイントに送信し、application.js ファイルがこれらのリクエストを hello.js と呼ばれる別のファイルに転送します。

    app.use('/hello', require('./lib/hello.js')());

    Express での転送についての詳細は、Express Router documentation を参照してください。

lib/hello.js ファイルを修正して、応答でタイムスタンプを返すようにします。

  1. lib/hello.js を開きます。
  2. timestamp 属性を POST 応答オブジェクトに追加し、値は現在の UNIX タイムスタンプにします。

    POST ハンドラーで以下の行を探します。

    res.json({msg: 'Hello ' + world});

    この行を以下のように変更します。

    res.json({msg: 'Hello ' + world, timestamp: new Date().getTime() });

    POST ハンドラーは以下のようになります。

    hello.post('/', function(req, res) {
      console.log(new Date(), 'In hello route POST / req.body=', req.body);
      var world = req.body && req.body.hello ? req.body.hello : 'World';
    
      // see http://expressjs.com/4x/api.html#res.json
      res.json({msg: 'Hello ' + world, timestamp: new Date().getTime() });
    });
  3. エディターで ファイル > 保存 をクリックして変更を保存します。

    エディター

    変更はクラウドアプリの Git リポジトリーに保存されます。実行中のインスタンスに変更を適用するには、クラウドアプリを再度デプロイする必要があります。

  4. 左側のサイドバーにある デプロイ をクリックします。
  5. クラウドアプリをデプロイ をクリックします。