更新时间:2024-08-08 GMT+08:00
分享

创建并启用Rest Action

通过创建Rest Action,使得系统可以调用第三方提供的Rest协议的接口,实现第三方提供的业务功能。

前提条件

已获取第三方提供的Rest服务的URL地址、输入参数、输出参数、内容类型信息。

场景描述

若需要调用第三方提供的Rest协议的flapRefund接口,则需要该Rest Service。

操作步骤

  1. 参考登录经典应用设计器中操作,登录经典版应用设计器。
  2. 在左侧列表中,单击,选择“自定义连接器 > 自定义连接器”。
  3. 在Rest Service列表中,选择Rest Action所在的REST Service,选择“动作”页签,单击“新建”。
  4. 设置动作的基本信息,单击“下一步”。

    • 标签:新建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”来解析第三方返回的内容。

      如果该参数取值为空,表示使用http返回中的“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的描述信息。

  5. 设置消息头入参,单击“下一步”。

    若此接口没有消息头输入参数,则不需要配置参数,请删除第一行参数。若有消息头输入参数,且有多个,请单击“新增”。若之前创建Rest Service时,有定义消息头参数,可选择“从模板中插入”,并定义输入参数的基本信息。
    图1 消息头入参配置页面
    • 标签:消息头输入参数的标签名。
    • 名称:消息头输入参数在系统中的唯一标识。
    • 数据类型:消息头输入参数的数据类型。
      • 数字:数字类型。
      • 字符串:字符串类型。
      • 布尔值:布尔类型,取值为“true”和“false”。
      • 敏感文本:如姓名、手机号等。
    • 默认值:参数的默认取值。
    • 描述:消息头输入参数的描述信息。
    • 默认:参数是否有默认值。
    • 必填:参数是否必填。
    • 操作:单击,可对Header输入参数进行添加或删除操作。

  6. 设置输入参数,单击“下一步”

    若此接口没有输入参数,则不需要配置参数,删除第一行参数。若有输入参数,且有多个,请单击,并定义输入参数的基本信息。

    页面上方“消息体格式”参数使用说明:当方法为“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集合类型。
      • 对象:对象标识类型。
      • 敏感文本:如姓名、手机号等。
    • 命名空间:输入参数所属的命名空间。
    • 元数据名称:选择元数据的名称。
    • 默认值:参数默认取值。
    • 描述:输入参数的描述信息。
    • 默认:参数是否有默认值。
    • 必填:输入参数是否为必填。
    • 集合:输入参数是否为数组型。
    • 操作:单击,可添加或删除输入参数。

  7. 设置输出参数,单击“保存”

    若此接口没有输出参数,则不需要配置参数,请删除第一行参数。若有输出参数,且有多个参数,请单击“+ 新增”,并定义输出参数的基本信息。

    页面上方“消息体格式”参数使用说明:设置“输出消息体方式”为“值”后,系统会引入一个通用的出参变量“$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 输出参数配置页面
    • 标签::设置输出参数的标签名。
    • 名称:输出参数在系统中的唯一标识。
    • 参数位置:设置输出参数的位置。
    • 数据类型:输出参数的数据类型。
    • 命名空间:输出参数所属的命名空间。
    • 元数据名称:设置元数据的名称。
    • 描述:输出参数的描述信息。
    • 集合:输出参数是否为数组型。
    • 操作:单击,可添加或删除输出参数。

  8. 在动作页签,单击该Rest Action所在行的,启用Rest Action。

    单击“导出”,可导出zip包,zip包中包括该服务的所有Rest接口。单击“导入”,可通过导入yaml文件,导入Rest Action。

相关文档