Skip to content

HTTP流程

流程是所有控件的基类容器,其余控件不允许单独拖拽至空白画布中,需要先将HTTP流程拖拽至画布中,然后再将组件拖拽至HTTP流程中。

一个HTTP流程即为一个HTTP请求HTTP流程负责定义HTTP请求相关内容,如请求Url、请求方法等,具体返回内容在输出Return控件中定义。

业务属性

属性含义说明输入限定示例值
text与控件关联的文本设计页控件显示常量HttpFlow
methodHTTP方法GET/POST选择值GET
url请求RULhttp请求地址的最后一级路径常量/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流程属性设置为:

img_1.png

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

img_returnAttribute

请求结果输出为:

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)"
}