HTTP输入 (http in)
创建HTTP端点接收HTTP请求。
输入
无输入。
输出
包含HTTP请求信息的消息对象。
详细说明
HTTP输入节点创建HTTP端点来接收HTTP请求。
必须与HTTP响应节点配对使用来发送响应。
配置选项
- 方法: HTTP方法(GET、POST、PUT、DELETE等)
- URL: 端点路径(如 /api/data)
- 名称: 节点名称
输出消息格式
javascript
msg = {
payload: "请求体内容", // POST/PUT请求体
req: { // 原始请求对象
params: {}, // URL参数
query: {}, // 查询参数
headers: {}, // 请求头
cookies: {}, // Cookie
files: {} // 上传的文件(multipart)
},
res: {}, // 原始响应对象
topic: "/api/data", // 请求路径
method: "POST" // HTTP方法
}
URL参数
支持参数化URL:
/api/users/:id
- 匹配/api/users/123
/api/data/*
- 匹配/api/data/anything
示例
GET请求:
javascript
// 请求: GET /api/users?page=1&limit=10
msg = {
payload: {},
req: {
params: {},
query: {
page: "1",
limit: "10"
},
headers: {
"user-agent": "Mozilla/5.0...",
"accept": "application/json"
}
},
topic: "/api/users",
method: "GET"
}
POST请求:
javascript
// 请求: POST /api/users
// Content-Type: application/json
// Body: {"name": "张三", "email": "zhangsan@example.com"}
msg = {
payload: {
name: "张三",
email: "zhangsan@example.com"
},
req: {
params: {},
query: {},
headers: {
"content-type": "application/json",
"content-length": "45"
}
},
topic: "/api/users",
method: "POST"
}
URL参数:
javascript
// 配置: /api/users/:id
// 请求: GET /api/users/123
msg = {
payload: {},
req: {
params: {
id: "123"
},
query: {},
headers: {...}
},
topic: "/api/users/123",
method: "GET"
}
文件上传:
javascript
// 请求: POST /api/upload
// Content-Type: multipart/form-data
msg = {
payload: {},
req: {
params: {},
query: {},
headers: {...},
files: {
upload: {
name: "document.pdf",
type: "application/pdf",
size: 12345,
path: "/tmp/upload_123.pdf"
}
}
},
topic: "/api/upload",
method: "POST"
}
应用场景
- Web API开发
- Webhook接收
- 表单处理
- 文件上传
注意事项
- 必须与HTTP响应节点配对使用
- 注意URL路径冲突
- 处理不同的Content-Type
- 验证输入数据安全性