Appearance
使用须知
orapis目前可生产Http服务
、WebService
、定时任务
、消息队列消费者
。
🔌关于接口
orapis可生产接口:Http
、WebService
接口请求
所有orapis-engine中的接口,访问端口默认为6636
接口请求URL第一级默认为项目的属性Url前缀
假设项目的属性Url前缀为/test
,其中一个Http接口的请求URL为/testApi1
,则该接口的请求URL为:http://engine_ip:6636/test/testApi1
engine_ip
为orapis-engine部署机器的IP地址
Http请求参数
orapis仅支持获取请求中的uri参数及body参数,不支持获取请求路中拼接的参数。
我们将获取到的uri参数定义为实体args
,body参数定义为实体body
。
🎚️关于控件
控件属性的输入限定
在控件属性的输入中,限定为某种格式的数据,如非按限定格式输入可能导致服务无法正常运行。
常量:属性值即为最终运行时的值
流程变量:运行时的值为该属性指向的变量值,变量的需使用占位符
#{}
常量,Json/Xml数据节点可用流程变量:当属性值为Json/Xml数据格式时,可在数据节点中使用流程变量,运行时该变量会被替换为具体值,变量的使用需要使用占位符
#{}
;否则属性值即为运行时的值使用的变量为实体对象,会被反序列化为Json/Xml格式数据
选择值:仅为属性中可选择的值
Lua脚本:属性值即为Lua脚本,运行时执行的是为该脚本,在脚本中可使用任意变量,且不需用占位符
#{}
控件的返回值
除去个别特殊的控件(无返回值或具有多个返回值),绝大部分控件都具有name
这一属性。
这一属性既是该控件在流程中的命名,亦是该控件返回值的变量命名。
🔤关于变量
变量类型
服务设计中的变量,底层都为Lua语言的变量,所以符合Lua语言的特性。
本文档中出现的所有变量类型的说明,均为Lua语言的类型。
变量使用
在接口的设计过程中,orapis使用占位符#{}
对变量的值进行引用。
例如对实体中的foo属性
, body实体中的foo属性
或foo变量
进行引用:
#{args.foo}
、#{body.foo}
或#{foo}
。
在判断表达式中则不需要使用占位符,例如在
if
判断中可直接书写变量名
if body.foo == null then
...
end
if body.foo == null then
...
end
#{}的特殊用法
#{} 的内容被当作Lua脚本解析,所以可以用来做一些简单的逻辑处理,如下:
函数的调用 : #{tostring(tableVar)},引用调用函数的输出值。
字符串拼接:#{str1..str2},引用两个字符串拼接的结果值。
数值相加:#{num1 + num2},引用两个数值变量的相加结果。
📝关于日志
异常日志位于/engine/logs/error.log
,与数据库有关的日志位于/engine/logs/ancillary.log
,当请求出现异常时可通过查看日志进行排查。
接口的访问记录位于/engine/logs/access.log
。