Appearance
HTTP流程
流程是所有控件的基类容器,其余控件不允许单独拖拽至空白画布中,需要先将HTTP流程拖拽至画布中,然后再将组件拖拽至HTTP流程中。
一个HTTP流程
即为一个HTTP请求
,HTTP流程
负责定义HTTP请求相关内容,如请求Url、请求方法等,具体返回内容在输出Return控件中定义。
业务属性
属性 | 含义 | 说明 | 输入限定 | 示例值 |
---|---|---|---|---|
text | 与控件关联的文本 | 设计页控件显示 | 常量 | HttpFlow |
method | HTTP方法 | GET/POST | 选择值 | GET |
url | 请求RUL | http请求地址的最后一级路径 | 常量 | /hello |
exceptionReturn | 异常返回 | 流程内执行异常时输出该内容, 异常信息赋值到变量err | 常量,Json/Xml数据节点可用变量err /err变量 | {"err":"#{err}"} |
http服务访问路径为项目Url前缀/服务url,发布到引擎端的服务应保证该访问路径唯一,否则发布服务会覆盖已发布的相同访问路径服务
输入参数
http请求中,输入参数有请求信息参数、Url参数、Body参数,这几种参数在HTTP流程设计中,可通过以下方式获得:
请求信息参数:http请求相关的参数,可通过提供的变量控件获取。
如请求头参数可通过Headers控件获取,请求协议信息可通过ServerProtocol控件获取。
url参数:直接访问实体args
。
body参数:直接访问实体body
。
http输出
正常输出
输出内容在Return控件中设置。
异常输出
流程内执行异常时流程将中断,并输出exceptionReturn属性运行时的数据。
执行异常时会将错误信息赋值到变量err,在exceptionReturn属性中可直接引用该变量。
使用示例
正常输出
HTTP流程属性设置为:

流程内新增Return控件并设置属性:

请求结果输出为:
json
{
"key": "value"
}
{
"key": "value"
}
异常输出
HTTP流程exceptionReturn属性设置为:
json
{
"resCode": "-1",
"resMsg": "#{err}"
}
{
"resCode": "-1",
"resMsg": "#{err}"
}
#{err} 为抛出异常时的异常消息变量
新增LuaScript控件,用于提供异常输出
LuaScript控件script属性设置为:
Lua
local a={} --创建了一个名为a的局部变量,并将其初始化为一个空表(table)
a.b.c=1 --a.b未被定义,所以值默认为 nil ;a.b.c对一个nil值访问其属性时,会抛出异常
local a={} --创建了一个名为a的局部变量,并将其初始化为一个空表(table)
a.b.c=1 --a.b未被定义,所以值默认为 nil ;a.b.c对一个nil值访问其属性时,会抛出异常
请求结果输出为:
json
{
"resCode": "-1",
"resMsg": "..\\engine/src/webapps/api/httpFlowTest.lua:18: attempt to index field 'b' (a nil value)"
}
{
"resCode": "-1",
"resMsg": "..\\engine/src/webapps/api/httpFlowTest.lua:18: attempt to index field 'b' (a nil value)"
}