반응형
Node-RED에서 'HTTP In' 노드는 네트워크 카테고리에 속하는 노드 중 하나로, HTTP 요청을 받아들이는 역할을 합니다. 이 노드는 웹 서버 엔드포인트를 생성하며, HTTP 요청을 수신하고 이를 Node-RED 플로우 내에서 처리할 수 있도록 해줍니다.
'HTTP In' 노드의 기능
- HTTP 엔드포인트 생성: HTTP In 노드는 Node-RED에서 특정 URL을 경로로 하는 HTTP 엔드포인트를 만듭니다. 이 엔드포인트는 GET, POST, PUT, DELETE 등의 HTTP 메소드를 처리할 수 있습니다.
- 요청 데이터 수신: 클라이언트(브라우저, 애플리케이션 등)가 HTTP 요청을 보내면 이 요청을 처리할 수 있습니다. 이 요청에는 URL 경로, 쿼리 파라미터, 헤더, 본문 데이터 등이 포함될 수 있습니다.
- 플로우 시작점: HTTP In 노드는 Node-RED 플로우에서 요청이 들어오는 시점을 시작점으로 사용됩니다. 이후의 노드들은 요청 데이터를 처리한 후, HTTP Response 노드를 통해 클라이언트에게 응답을 보냅니다.
'HTTP In' 노드의 주요 설정
- Method: 수신할 HTTP 요청의 메소드를 선택합니다. 기본적으로 GET, POST, PUT, DELETE 등의 메소드를 선택할 수 있습니다.
- URL Path: 이 노드가 처리할 URL 경로를 지정합니다. 예를 들어,
/api/data
로 설정하면 http://localhost:1880/api/data로 들어오는 HTTP 요청을 처리할 수 있습니다. - Name: 이 노드의 이름을 설정할 수 있습니다(선택 사항).
HTTP In 노드와 HTTP Response 노드의 연계
HTTP In 노드는 단독으로 클라이언트에 응답을 할 수 없기 때문에, HTTP Response 노드와 함께 사용해야 합니다. 요청을 수신한 후, Node-RED 플로우 내에서 필요한 데이터를 처리하고, 최종적으로 HTTP Response 노드를 통해 클라이언트에 응답을 보냅니다.
사용 예시
다음은 'HTTP In' 노드를 사용한 간단한 플로우 예시입니다. 이 플로우에서는 클라이언트가 /hello
경로로 GET 요청을 보내면, "Hello, World!"라는 응답을 받게 됩니다.
플로우 구성:
- HTTP In 노드:
/hello
경로로 들어오는 GET 요청을 수신. - Function 노드: 메시지 처리를 통해 응답 데이터를 생성.
- HTTP Response 노드: 응답을 클라이언트에게 전송.
[
{
"id": "http_in",
"type": "http in",
"z": "tab_id",
"name": "",
"url": "/hello",
"method": "get",
"upload": false,
"swaggerDoc": "",
"wires": [["function_node"]]
},
{
"id": "function_node",
"type": "function",
"z": "tab_id",
"name": "Set Response",
"func": "msg.payload = \"Hello, World!\";\nreturn msg;",
"outputs": 1,
"noerr": 0,
"wires": [["http_response"]]
},
{
"id": "http_response",
"type": "http response",
"z": "tab_id",
"name": "",
"statusCode": "",
"headers": {},
"x": 500,
"y": 200,
"wires": []
}
]
설명:
- HTTP In 노드는
/hello
경로로 들어오는 GET 요청을 받습니다. - Function 노드는 요청을 처리하고, 응답 데이터(여기서는 "Hello, World!")를 준비합니다.
- HTTP Response 노드는 처리된 데이터를 클라이언트에게 HTTP 응답으로 전송합니다.
다양한 활용 예시
- API 구축:
HTTP In
노드를 사용하여 REST API 엔드포인트를 만들고, Node-RED 플로우 내에서 데이터를 가공하여 클라이언트에게 응답할 수 있습니다. - 데이터 수집:
HTTP In
노드를 통해 POST 요청으로 들어온 데이터를 수집하고, 데이터베이스에 저장하거나 다른 시스템으로 전달할 수 있습니다. - 웹훅 처리: 외부 시스템에서 웹훅 요청을 보내면, Node-RED가 이를 받아 처리할 수 있습니다.
요약
- HTTP In 노드는 HTTP 요청을 수신하고, Node-RED 플로우에서 이 요청을 처리할 수 있게 하는 시작점 역할을 합니다.
- 이 노드는 특정 URL 경로와 HTTP 메소드를 지정할 수 있으며, HTTP Response 노드와 연계하여 클라이언트에 응답을 보냅니다.
- Node-RED를 통해 간단한 웹 서버나 REST API를 쉽게 구축할 수 있습니다.
이를 통해 Node-RED는 클라이언트-서버 간의 상호작용을 처리하고, 다양한 HTTP 요청을 쉽게 관리할 수 있는 유연한 도구로 활용됩니다.
반응형
'컴퓨터|인터넷 > 라즈베리파이' 카테고리의 다른 글
Node-red: Gauge in Dashboard (노드래드 대시보드 게이지의 활용) (0) | 2024.10.03 |
---|---|
Node-red: WebSocket In/out (1) | 2024.10.03 |
MQTT Python client (0) | 2024.09.22 |
Node-red 설치 (0) | 2024.09.22 |
라즈베리파이를 위한 모스키토+paho-mqtt+Node-RED+dashboard2 설치 (0) | 2024.07.30 |
댓글