Node-REDでhttp requestノードでAPIを実行する

Node-REDでhttp requestノードでAPIを実行する

Node-REDで作成したREST APIをwindowsのcurlコマンドで叩くことができますが、こちらのcurlもhttp requestノードを使用すれば代用することができます。

Node-REDでhttp requestノードでAPIを実行する

簡単なPOSTメソッドのREST APIを作成します。

項目
HTTPメソッド POST
path /hoge
Node-RED localhost:1880

Node-REDでhttp requestノードでAPIを実行する

http responseは配置して200を返すだけです。msg.statusCodeにこの値が入ります。

Node-REDでhttp requestノードでAPIを実行する

デバッグしているのは以下2つです。

  • msg.req.body
  • msg.headers.x-auth-key

msg.req.headers プロパティは、各リクエストパラメータのキーと値のペアで構成されたオブジェクトです。 ヘッダ名は、リクエストの内容にかかわらず、すべて小文字です。

この状態でデプロイして、curlで叩くことができます。

sample.json

curl

今回はこのcurl部分をhttp requestノードでやってみたいと思います。

http requestノードを使う

同一フローにinjectionノードから始まるフロー作成します。

Node-REDでhttp requestノードでAPIを実行する

functionノードでリクエストヘッダの設定、msg.payloadにJSONを設定しています。msg.payloadの値がREST APIのリクエストボディ(msg.req.body)に渡されるようです。

Node-REDでhttp requestノードでAPIを実行する

http requestノードでは「http://localhost:1880/hoge」をPOSTで呼び出しています。

出力形式は「JSONオブジェクト」に変更します。

Node-REDでhttp requestノードでAPIを実行する

デプロイして実行します。

Node-REDでhttp requestノードでAPIを実行する

フロー

参考サイト

https://cookbook.nodered.jp/http/set-request-header

https://cookbook.nodered.jp/http/access-http-request-headers

https://cookbook.nodered.jp/http/parse-json-response

  • このエントリーをはてなブックマークに追加
  • Evernoteに保存Evernoteに保存

コメントをどうぞ

メールアドレスが公開されることはありません。

CAPTCHA