基本2 (所要時間: 5分)

WEB APIを作る

HTTPのリクエスト(GET)を受け付けて、応答するWEB APIを作成します。

  1. パレットの 入力カテゴリ から httpノードワークスペース にドラッグドロップします
  2. パレットの 出力カテゴリ から debugノードhttp responseノードワークスペース にドラッグドロップします
  3. httpノード の右端から線を引き出して、 debugノードhttp responseノード につなぎます。
  4. httpノード をダブルクリックして、 URL/hello に変更します
  5. デプロイボタン を押します

これで準備完了です。

[エンドポイント]-[ブラウザで開く] で、ブラウザを開くと、FrontOpsのWEBサーバーのURLが確認できます。 [1]

URLの後ろに /hello を追加してアクセスしてみます。

すると、ブラウザに

{}

が表示されました。 デバッグウィンドウ にも同様の出力が確認できました。

続いて、/hello?id=123&name=ABC とパラメータを付けてアクセスします。

すると、ブラウザに

{"id":"123","name":"ABC"}

が表示されました。デバッグウィンドウ にも同様の出力が確認できました。

(上の画像をクリックしてアニメを見てください)

[1]Macの場合はSafariを使ってください。ChromeだとURLが外部から指定できず、FrontOpsのWEBサーバーのURLが確認できません。

動作説明

何が起こったのか説明します。

  1. httpノード は、 HTTPリクエストが来たのでメッセージを作成し、中にHTTPリクエストのデータを設定して、出力に流しました。
  2. メッセージは線上を流れて、http responseノードdebugノード に届きました。
  3. http responseノード は、メッセージが届いたので、HTTPリクエストに応答しました。
  4. debugノード は、メッセージが届いたので、 デバッグウィンドウ に表示しました。

応答内容を加工する

応答内容を加工してみます。

  1. httpノードhttp responseノード の間に パレットの 機能カテゴリ からオレンジの templateノード を追加します

  2. templateノード をダブルクリックして、テンプレート を次のように変更します。 [2]

    こんにちは {{payload.name}} さん。あなたのIDは {{payload.id}} です

[2]mustache というテンプレートエンジンを使っています。 {{}} の中は変数展開されます。

先程のブラウザページをリロードして、応答が変わるのを確認してください。 (上の画像をクリックしてアニメを見てください)

APIをインターネットに公開する

作ったAPIを、外部からアクセスできるように、インターネットに公開します [3]

  1. [エンドポイント]-[ngrokに接続] をクリックします。
  2. 接続完了のポップアップがでたら、[エンドポイント]-[ブラウザで公開URLを開く] をクリックします。

あとは、さっきと同じように、URLの後ろに /hello?id=123&name=ABCDEF とパラメータを付けてアクセスして動作を確認してみてください。

(上の画像をクリックしてアニメを見てください)

[3]ngrok というサービスを利用しています