响应
响应模块是工作流中的最后一步,用于格式化并将结构化的响应发送回 API 调用。它就像整个工作流的 "return" 语句——将结果打包并返回。

响应模块是终端模块——它们结束工作流的执行,无法连接到其他模块。
概述
响应模块可以让您:
格式化 API 响应:将工作流结果结构化为正确的 HTTP 响应
设置状态码:根据工作流结果配置适当的 HTTP 状态码
控制头信息:为 API 响应和 Webhooks 添加自定义头信息
转换数据:将工作流变量转换为客户端友好的响应格式
工作原理
响应模块完成工作流的执行:
- 收集数据 - 收集前面模块的变量和输出
- 格式化响应 - 根据您的配置结构化数据
- 设置 HTTP 详细信息 - 应用状态码和头信息
- 发送响应 - 将格式化的响应返回给 API 调用方
何时需要响应模块
- API 端点:当您的工作流通过 API 调用时,响应模块会格式化返回数据
- Webhooks:将确认或数据返回给调用系统
- 测试:在测试工作流时查看格式化的结果
构建响应的两种方式
构建器模式(推荐)
用于构建响应结构的可视化界面:
- 拖放字段
- 轻松引用工作流变量
- 响应结构的可视化预览
编辑器模式(高级)
直接编写 JSON:
- 完全控制响应格式
- 支持复杂的嵌套结构
- 使用
<variable.name>
语法表示动态值
配置选项
响应数据
响应数据是将返回给 API 调用者的主要内容。它应以 JSON 格式编写,可以包括:
- 静态值
- 使用
<variable.name>
语法动态引用工作流变量 - 嵌套对象和数组
- 任何有效的 JSON 结构
状态码
设置响应的 HTTP 状态码。常见的状态码包括:
- 200:OK - 标准成功响应
- 201:Created - 资源成功创建
- 204:No Content - 成功但无响应内容
- 400:Bad Request - 请求参数无效
- 401:Unauthorized - 需要身份验证
- 404:Not Found - 资源不存在
- 422:Unprocessable Entity - 验证错误
- 500:Internal Server Error - 服务器端错误
- 502:Bad Gateway - 外部服务错误
- 503:Service Unavailable - 服务暂时不可用
如果未指定,默认状态码为 200。
响应头
配置响应中包含的额外 HTTP 头信息。
标头被配置为键值对:
键 | 值 |
---|---|
Content-Type | application/json |
Cache-Control | no-cache |
X-API-Version | 1.0 |
示例用例
API 端点响应
场景:从搜索 API 返回结构化数据
- 工作流处理搜索查询并检索结果
- 功能块格式化并分页结果
- 响应块返回包含数据、分页和元数据的 JSON
- 客户端接收带有 200 状态的结构化响应
Webhook 确认
场景:确认 Webhook 的接收和处理
- Webhook 触发器接收外部系统数据
- 工作流处理传入数据
- 响应块返回带有处理状态的确认
- 外部系统接收确认信息
错误响应处理
场景:返回适当的错误响应
- 条件块检测到验证失败或系统错误
- 路由器引导到错误处理路径
- 响应块返回带有错误详情的 400/500 状态
- 客户端接收结构化的错误信息
输入和输出
响应数据:响应体的 JSON 结构
状态码:HTTP 状态码(默认:200)
标头:自定义 HTTP 标头,格式为键值对
模式:用于响应构建的 Builder 或 Editor 模式
response.data:结构化的响应体
response.status:发送的 HTTP 状态码
response.headers:响应中包含的标头
response.success:指示成功完成的布尔值
HTTP 响应:发送给 API 调用者的完整响应
工作流终止:结束工作流执行
访问:响应块是终端块 - 无后续块
变量引用
使用 <variable.name>
语法将工作流变量动态插入到您的响应中:
{
"user": {
"id": "<variable.userId>",
"name": "<variable.userName>",
"email": "<variable.userEmail>"
},
"query": "<variable.searchQuery>",
"results": "<variable.searchResults>",
"totalFound": "<variable.resultCount>",
"processingTime": "<variable.executionTime>ms"
}
变量名称区分大小写,必须与工作流中可用的变量完全匹配。
最佳实践
- 使用有意义的状态码:选择适当的 HTTP 状态码,准确反映工作流的结果
- 保持响应结构一致:在所有 API 端点中保持一致的 JSON 结构,以提升开发者体验
- 包含相关元数据:添加时间戳和版本信息,以便调试和监控
- 优雅地处理错误:在工作流中使用条件逻辑设置适当的错误响应,并提供描述性消息
- 验证变量引用:确保所有引用的变量存在并包含预期的数据类型,然后再执行响应块