HTMLページやCSSのような静的コンテンツを返す GETリクエストに対応したHTTPエンドポイントを作成したい。
HTTP In
ノードを使用してリクエストを待ち受けます。
Template
ノードで静的コンテンツを含めます。
そして、HTTP Response
ノードでリクエストに対してレスポンスを返します。
[{"id":"59ff2a1.fa600d4","type":"http in","z":"3045204d.cfbae","name":"","url":"/hello","method":"get","swaggerDoc":"","x":100,"y":80,"wires":[["54c1e70d.ab3e18"]]},{"id":"54c1e70d.ab3e18","type":"template","z":"3045204d.cfbae","name":"page","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n <head></head>\n <body>\n <h1>Hello World!</h1>\n </body>\n</html>","x":250,"y":80,"wires":[["266c286f.d993d8"]]},{"id":"266c286f.d993d8","type":"http response","z":"3045204d.cfbae","name":"","x":390,"y":80,"wires":[]}]
[~]$ curl http://localhost:1880/hello
<html>
<head></head>
<body>
<h1>Hello World!</h1>
</body>
</html>
HTTP In
と HTTP Response
のノードのペアは
作成するすべてのHTTPエンドポイントの出発点となります。
HTTP In
で始まるいかなるフローも、タイムアウト以外では
HTTP Response
ノードで終わらなければなりません。
HTTP Response
ノードはメッセージの payload
プロパティを
レスポンスボディとして使用します。
他のプロパティはカスタマイズされたレスポンスとして使用できます、これについては他のレシピで説明します。
Template
ノードは
ボディコンテンツをフローに埋め込むための便利な方法を提供します。
ただ、このような静的コンテンツはフローの外側でメンテナンスすることが望ましいかもしれません。
HTTP認証を起動した場合、curlコマンドにユーザIDとパスワードを追加する必要があるでしょう。 例
[~]$ curl -u userid:password http://localhost:1880/hello
Node-RED: Low-code programming for event-driven applications.
Copyright OpenJS Foundation and Node-RED contributors. All rights reserved. The OpenJS Foundation has registered trademarks and uses trademarks. For a list of trademarks of the OpenJS Foundation, please see our Trademark Policy and Trademark List. Trademarks and logos not indicated on the list of OpenJS Foundation trademarks are trademarks™ or registered® trademarks of their respective holders. Use of them does not imply any affiliation with or endorsement by them.
The OpenJS Foundation | Terms of Use | Privacy Policy | OpenJS Foundation Bylaws | Trademark Policy | Trademark List | Cookie Policy