Skip to content

使用须知

orapis目前可生产Http服务WebService定时任务消息队列消费者

🔌关于接口

orapis可生产接口:HttpWebService

接口请求

所有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参数定义为实体argsbody参数定义为实体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