Node-RED:Рецепты/Как создать конечную HTTP-точку: различия между версиями
Myagkij (обсуждение | вклад) (→Пример) |
Myagkij (обсуждение | вклад) |
||
Строка 52: | Строка 52: | ||
[[Категория:Рецепты Node-RED]] | [[Категория:Рецепты Node-RED]] | ||
[[Категория:Рецепты]] | [[Категория:Рецепты]] | ||
{{Навигационная таблица/Node-RED библиотеки}} | |||
{{Навигационная таблица/Телепорт}} |
Версия от 18:11, 6 мая 2022
Черновик |
Как создать конечную HTTP-точку[1]
Проблема
Вам нужно создать конечную HTTP-точку, чтобы отвечать на GET-запросы при помощи статического веб-контента вроде HTML-страницы или таблицы стилей CSS.
Решение
Вам нужно будет воспользоваться нодой «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-точек всегда стоит начинать с добавления в поток нод «HTTP in» и «HTTP response».
Любой поток, начинающийся с ноды «HTTP in», должен быть соединен с нодой «HTTP response», иначе у вас в итоге просто завершится таймаут запроса.
Получив сообщения, нода «HTTP response» сохраняет их в свойство «payload» и использует их в качестве тела ответа. Кроме того, ответ можно кастомизировать при помощи других свойств – мы расскажем о них в других руководствах.
С помощью ноды «Template» удобно встраивать тело веб-контента в поток. Возможно, вы захотите держать подобный статичный веб-контент вне потока.
См.также
Внешние ссылки
- Страницы с устаревшим атрибутом подсветки синтаксиса «enclose»
- Справочник Node-RED
- Справочник по Node-RED
- Node-RED
- Перевод от Сubewriter
- Проверка:myagkij
- Оформление:myagkij
- Редактирование:myagkij
- Черновик
- Надо доработать
- Черновой вариант статьи
- Черновой вариант
- Рецепты Node-RED
- Рецепты
- Страницы, где используется шаблон "Навигационная таблица/Телепорт"
- Страницы с телепортом