
# 自定义华为云Astro轻应用服务编排的URL
华为云Astro轻应用支持将已启用的服务编排，封装成一个新的URL地址，供第三方系统进行调用。
#### 自定义服务编排的URL
1. 参考[登录华为云Astro轻应用应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_9004.html)中操作，登录应用设计器。
2. 在左侧导航栏中，选择"集成"。
3. 在开放接口后，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001936098993.png)，进入新建开放接口页面。
4. 设置开放接口参数。 
   图1开放接口配置页面   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001963846356.png "点击放大")
   表1新建开放接口参数说明 
   | 参数        | 说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
   |:---|:---|
   | 标签        | 输入新建接口的标签，用于在页面展示。 取值范围：1\~64个字符。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 操作名称      | 输入新建接口的操作名称。命名要求如下： - 长度不能超过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"权限添加相应业务权限凭证，即可通过运行环境子域名匿名访问该接口。 例如：登录业务应用接口"login"的URL为"/service/*命名空间* __MyApp/1.0.0/login"，运行环境子域名为"test.example.com"，期望可匿名访问该自定义接口，则配置接口时请勾选"允许匿名访问"，且"Anonymous User Profile"权限配置了该接口的业务权限凭证，则匿名用户通过"https://test.example.com/service/*命名空间*__MyApp/1.0.0/login"，即可访问该接口。 设置匿名访问时，应遵循以下几项要求： - 需要支持匿名访问自定义接口的账号，必须要设置运行环境子域名。  - 带有合法认证信息来访问允许匿名访问的自定义接口时，优先以合法认证的身份权限来访问。  - 匿名用户身份访问自定义接口，不需要做CSRF校验。  - 不论以什么方式来访问， 认证身份后做的权限校验保持一致。如果配置了业务权限凭证，还会查看用户权限，是否配置了相应的业务权限凭证。                                                                                                                                                                                                                                                                                                                                             |
   | 类型        | 根据实际需要，选择新建接口的类型。 - 服务编排：表示该定义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. 在开放接口中，将鼠标放在对应的接口上，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001907070358.png)，选择"查看"，进入接口预览页面。
   
   3. 在接口预览页面，单击URL后的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894139444.png)。
      图2预览页面   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001894299328.png "点击放大") 
   
   4. 单击"测试一下"，如果有输入参数，设置输入参数后，单击"执行"。 返回成功响应，表示接口调用成功 。
      
   
   
   
   
 
