创建并启用Rest Action
通过创建Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。
前提条件
已获取第三方提供的Rest服务的URL地址、输入参数、输出参数、内容类型信息。
场景描述
若需要调用第三方提供的Rest协议的flapRefund接口,则需要该Rest Service。
操作步骤
- 参考登录经典应用设计器中操作,登录经典版应用设计器。
- 在左侧列表中,单击,选择“自定义连接器 > 自定义连接器”。
- 在Rest Service列表中,选择Rest Action所在的REST Service,选择“动作”页签,单击“新建”。
- 设置动作的基本信息,单击“下一步”。
- 标签:新建Rest Action的标签名。
- 名称:Rest Action在系统中的唯一标识。
- URL:第三方提供的,Rest协议服务的URL地址。
- 方法:选择Rest的方法。
- GET:获取资源。
- POST:创建资源。
- PUT:更新资源。
- PATCH:用于更新资源的部分内容。
- DELETE:删除资源。
- OPTIONS:用于获取当前URL所支持的方法。
方法选择“PUT”或“POST”时,可自定义输入消息体参数。当第三方入参为数组或非JSON类型时,需要在定义输入参数设置为“键-值”形式。勾选后系统会引入一个通用的入参变量“$in”,将数组或非JSON类型的变量存到“$in”中,变成“键-值”格式传入到Rest Action中。
- 内容类型:输入内容的类型,该值取决于第三方支持哪种类型,是在HTTP标准协议中定义的。
- 返回类型:取值为“application/json”时,表示会忽略第三方实际返回的“content-type”,使用第三方配置的“content-type”来解析第三方返回的内容。
- 超时时间:当超出该参数设定的时间,第三方没有返回结果时,系统报错。
- 日期格式:若该Rest服务输入参数包括Date类型且有固定的要求格式,则必须进行配置。
请确保AstroZero提供的输入参数,符合第三方要求。例如,该Rest服务存在Date类型输入参数,且要求格式为“YYYY-MM-DD”,则此处必须配置为“YYYY-MM-DD”。
- 日期/时间格式:若该Rest服务输入参数包括DateTime类型且有固定的要求格式,则必须进行配置。
请确保AstroZero提供的输入参数,符合第三方要求。例如,该Rest服务存在DateTime类型输入参数,且要求格式为“YYYY-MM-DD hh:mm:ss”,则此处必须配置为“YYYY-MM-DD hh:mm:ss”。
- 描述:Rest Action的描述信息。
- 设置消息头入参,单击“下一步”。
若此接口没有消息头输入参数,则不需要配置参数,请删除第一行参数。若有消息头输入参数,且有多个,请单击“新增”。若之前创建Rest Service时,有定义消息头参数,可选择“从模板中插入”,并定义输入参数的基本信息。图1 消息头入参配置页面
- 标签:消息头输入参数的标签名。
- 名称:消息头输入参数在系统中的唯一标识。
- 数据类型:消息头输入参数的数据类型。
- 数字:数字类型。
- 字符串:字符串类型。
- 布尔值:布尔类型,取值为“true”和“false”。
- 敏感文本:如姓名、手机号等。
- 默认值:参数的默认取值。
- 描述:消息头输入参数的描述信息。
- 默认:参数是否有默认值。
- 必填:参数是否必填。
- 操作:单击或,可对Header输入参数进行添加或删除操作。
- 设置输入参数,单击“下一步”。
若此接口没有输入参数,则不需要配置参数,删除第一行参数。若有输入参数,且有多个,请单击,并定义输入参数的基本信息。
页面上方“消息体格式”参数使用说明:当方法为“PUT”或“POST”时,该参数才会显示。当第三方入参为数组类型或者非JSON类型时,需要将“输入消息体方式”设置为“值”形式。
例如,若设置“消息体格式”为“键-值”,假设定义了输入参数A、B、C,调用时消息体中传递了参数 {A: 1,B:2, C:3} ,此时被调用方收到的参数信息是 {A: 1,B:2, C:3}。若设置“输入消息体方式”为“值”,此时默认使用$in输入参数定义,调用时消息体中传递了参数{$in: [1,2,3] },此时被调用方收到的参数信息为[1,2,3]。
图2 输入参数配置页面
- 标签:输入参数的标签名。
- 名称:输入参数在系统中的唯一标识。
- 参数位置:设置输入参数的位置。
- 数据类型:设置输入参数的数据类型。
- 日期:日期类型,精度到天。
- 日期/时间:时间类型,精度到秒。
- 数字:数字类型。
- 字符串:字符串类型。
- 布尔值:布尔类型,取值为“true”和“false”。
- 全局结构体
- 键值对(Map):Map集合类型。
- 对象:对象标识类型。
- 敏感文本:如姓名、手机号等。
- 命名空间:输入参数所属的命名空间。
- 元数据名称:选择元数据的名称。
- 默认值:参数默认取值。
- 描述:输入参数的描述信息。
- 默认:参数是否有默认值。
- 必填:输入参数是否为必填。
- 集合:输入参数是否为数组型。
- 操作:单击或,可添加或删除输入参数。
- 设置输出参数,单击“保存”。
若此接口没有输出参数,则不需要配置参数,请删除第一行参数。若有输出参数,且有多个参数,请单击“+ 新增”,并定义输出参数的基本信息。
页面上方“消息体格式”参数使用说明:设置“输出消息体方式”为“值”后,系统会引入一个通用的出参变量“$out”,将body的内容存到“$out”中,作为出参。
例如,若设置“消息体格式”为“键-值”,假设定义了输出参数A、B、C,调用后返回消息体中传递了参数 {A: 1,B:2, C:3} ,此时调用方收到的参数信息是 {A: 1,B:2, C:3};若设置“输出消息体方式”为“值”,此时默认使用$out输出参数定义,调用业务接口返回消息体中传递了参数[1,2,3],此时调用方收到的参数信息为{$out:[1,2,3]}。
图3 输出参数配置页面
- 标签::设置输出参数的标签名。
- 名称:输出参数在系统中的唯一标识。
- 参数位置:设置输出参数的位置。
- 数据类型:输出参数的数据类型。
- 命名空间:输出参数所属的命名空间。
- 元数据名称:设置元数据的名称。
- 描述:输出参数的描述信息。
- 集合:输出参数是否为数组型。
- 操作:单击或,可添加或删除输出参数。
- 在动作页签,单击该Rest Action所在行的,启用Rest Action。
单击“导出”,可导出zip包,zip包中包括该服务的所有Rest接口。单击“导入”,可通过导入yaml文件,导入Rest Action。