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

自定义AstroZero服务编排的URL

操作场景

AstroZero支持将已启用的服务编排,封装成一个新的URL地址,供第三方系统进行调用。

自定义服务编排的URL

  1. 参考登录AstroZero新版应用设计器中操作,登录新版应用设计器。
  2. 在左侧导航栏中,选择“集成”。
  3. 在开放接口后,单击,进入新建开放接口页面。
  4. 设置开放接口参数。

    图1 开放接口配置页面
    表1 新建开放接口参数说明

    参数

    说明

    标签

    输入新建接口的标签,用于在页面展示。

    取值范围:1~64个字符。

    操作名称

    输入新建接口的操作名称。命名要求如下:

    • 长度范围为1~40个字符。
    • 名称必须以英文字母开头,只能由英文字母,数字和单下划线组成,且不能以下划线结尾。

    版本

    URL对应的版本号,如1.0.0。

    URL

    新URL地址,其中“/service”为固定值,其次是“/App名称/版本号”,剩下部分进行自定义。

    自定义的URL需要符合一定规则,规则如下:

    • 必须以单个“/”开头。
    • 可以配置多级路径,两个或者多个“/”之间必须有内容。

    内容类型

    请求中的body类型。

    • application/json
    • multipart/form-data
    • binary-data

    “multipart/form-data”和“binary-data”用于文件上传接口,选择该内容类型,只能调用POST类型的事件。

    默认值:application/json。

    分类

    根据实际需求,在输入框中输入新建接口的分类。

    取值范围:1~255个字符。

    描述

    根据实际需求,在输入框中输入新建接口的描述信息。

    取值范围:1~255个字符。

    允许匿名访问

    是否可匿名访问运行环境中,该API接口。

    勾选表示允许匿名访问,通过运行环境子域名访问此接口时,如果无有效的Token认证信息,则以匿名用户身份继续访问此接口,且不需要做CSRF校验。匿名用户的权限为“Anonymous User Profile”,请确保该权限具备访问该接口的业务权限凭证或者相关资源权限。如当该接口有配置业务权限凭证时,给“Anonymous User Profile”权限添加相应业务权限凭证,即可通过运行环境子域名匿名访问该接口。

    说明:
    • 需要支持匿名访问自定义接口的账号,必须要设置运行环境子域名。
    • 带有合法认证信息来访问允许匿名访问的自定义接口时,优先以合法认证的身份权限来访问。
    • 匿名用户身份访问自定义接口,不需要做CSRF校验。
    • 不论以什么方式来访问, 认证身份后做的权限校验保持一致。如果配置了业务权限凭证,还会查看用户权限,是否配置了相应的业务权限凭证。

    例如:登录业务应用接口“login”的URL为“/service/命名空间__MyApp/1.0.0/login”,运行环境子域名为“test.example.com”,期望可匿名访问该自定义接口,则配置接口时请勾选“允许匿名访问”,且“Anonymous User Profile”权限配置了该接口的业务权限凭证,则匿名用户通过“https://test.example.com/service/命名空间__MyApp/1.0.0/login”,即可访问该接口。

    类型

    根据实际需要,选择新建接口的类型。

    • 服务编排:表示该定义URL调用的接口类型是服务编排。
    • 事件:表示该定义URL调用的接口类型是事件。
    • 对象:表示该定义URL是操作对象数据,包括对象数据的增删改查。

    默认值:服务编排,本示例直接使用默认值即可。

    自定义响应

    是否需要格式化,调用该URL后返回的响应消息。如果勾选,表示对响应消息进行格式化,删除resCode、resMsg、result外层信息,只透传返回的消息。

    • 不勾选“自定义响应”,返回如下响应消息
      {
          "resCode": "0",
          "resMsg": "成功",
          "result": [
              {
                  "equipments": [
                      {
                          "createdBy": "aaa",
                          "createdBy.__objectType": "User"
                      },
                      {
                          "createdBy": "aaa",
                          "createdBy.__objectType": "User"
                      }
                  ],
                  "total": "2"
              }
          ]
      }
    • 勾选“自定义响应”后,只返回如下响应消息
      {
          "equipments": [
              {
                  "createdBy": "aaa",
                  "createdBy.__objectType": "User"
              },
              {
                  "createdBy": "aaa",
                  "createdBy.__objectType": "User"
              }
          ],
          "total": "2"
      }

    资源

    选择调用的服务编排、事件或操作的对象名称。

    对象操作

    请选择具体的操作。当“类型”选择为“对象”时,该参数才会显示。

    • Insert Record:新增对象数据。
    • Update or Insert Record:更新或者新增对象数据。
    • Update By ID:按记录ID更新对象数据。
    • Delete By ID:按记录ID删除对象数据。
    • Query By ID:按记录ID查询对象数据。
    • Update By Condition:按条件更新对象数据。
    • Delete By Condition:按条件删除对象数据。
    • Query By Condition:按条件查询对象数据。

    方法

    映射后调用的方法名,如GET(查询)、PUT(增加)、POST(修改)和DELETE(删除)等。

    输入参数/输出参数

    展示服务编排的入参、出参,同时支持修改未受保护资源的参数描述。由于开发人员在开发服务编排过程中,可能未设置或未精确添加参数的描述信息,导出自定义接口的yaml描述文档时对参数的描述就会缺失或模糊。在开放接口二次封装服务编排时,可对参数描述进行编辑补充。

    当“类型”选择为“服务编排”时,该参数才会显示。

  5. 设置完成后,单击“保存”。

    保存后,进入接口详情页。在接口详情页的“基本信息”区域,勾选“是否已废弃”后,可配置是否推荐使用该接口。如果不推荐使用,勾选“是否已废弃”,勾选后,在后续使用到该接口时,会显示该接口“已废弃”的提示,但接口仍可被调用。

  6. 接口创建完成后,支持在线进行测试。

    1. 在新版应用开发设计器左侧的导航栏中,选择“集成”。
    2. 在开放接口中,将鼠标放在对应的接口上,单击,选择“查看”,进入接口预览页面。
    3. 在接口预览页面,单击URL后的
      图2 预览页面
    4. 单击“测试一下”,如果有输入参数,设置输入参数后,单击“执行”。

      返回成功响应,表示接口调用成功 。

相关文档