
# 配置API
#### 使用说明
原生服务旨在帮助您在AstroZero平台上或外部系统，调用已开发好的服务。为了完成调用，需要知道服务开放了哪些接口，以及这些接口的请求参数、返回参数，完成设计API后，可在服务编排中进行调用，也可将API再封装为自定义公共接口，供外部系统调用自定义公共接口。
#### 前提条件
需要提前获取镜像文件中定义的具体接口、接口的Header参数、请求参数和返回参数。获取后，可根据需要决定开放哪些接口给其他服务编排或外部系统调用。
#### 操作步骤
1. 在Native Service配置页面，选择"导航"。 
   图1单击导航   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125441.png)
   
   
2. 在"API设计"页签，单击"开始设计API"。 
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285249.png "点击放大")
   
   
3. 选择"使用模板"，配置基本信息和新URL对应的版本号，单击"创建"。 
   图2创建一个新版本   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046168.png "点击放大")
   - openApi版本：接口定义需要符合openApi规范，这里配置具体openApi的版本号。
   
   - 选择模板：选择系统预置的模板。
   
   - 版本：输入服务版本号。
   
   - 标题：原生服务API的名称。
   
   
   
   
4. 创建完成后，单击"新增资源"。
5. 在"增加资源及操作方法"页面，配置相关参数，单击"确认"。
   
   图3增加资源及操作方法配置页面   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046180.png "点击放大")
   - 输入一个新的资源路径（以/开头）：与镜像文件中的接口路径保持一致。
   
   - 方法：调用的方法，如GET（查询）、PUT（增加）、POST（修改）、DELETE（删除）、PATCH（对资源进行部分修改）。
   
   - 操作名称：与镜像文件中的操作名称保持一致。
   
   - 公共接口：若勾选，则只能在公共接口中调用，无法在服务编排和脚本中使用。
   
   - 内容类型：当勾选"公共接口"时，您需要配置内容类型，即请求中的body类型。其中，"application/x-www-form-urlencoded"、"application/xml"、"multipart/form-data"、"text/html"和"text/plain"用于文件上传接口，选择该内容类型，只能调用post类型的方法。
   
   - 描述：描述信息。
   
   
   
   
6. 单击生成的方法，可以在右侧编辑方法的URL、Header、Response参数，需要和镜像文件中接口的URL参数、Header参数、请求参数、返回参数保持一致。编辑参数后，需要单击参数操作列的![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960285257.png)，再单击"保存"。
   
   您可参考界面上"/case"、"/case/{CaseId}"两个示例编辑生成的方法。每个方法都需要定义Response参数，否则会部署失败。返回体数据结构在模式对象中定义。
   当Body参数和Response参数较多，一些参数可以封装成对象类型的参数，并在"模式对象"页签设置该类型参数，注意"模式对象"页签中参数名与操作中URL参数不能同名。
   ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
   支持按照操作名称和资源路径单过滤或者组合过滤搜索方法。
   图4编辑方法   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046172.png "点击放大")
   图5定义模式对象   
   ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046176.png "点击放大")
   
   
7. 参考[4]\~[6]，新增其他API方法。
8. 编辑方法完成后，需要手动删除"/case"、"/case/{CaseId}"两个示例，删除示例模式对象。
9. 单击"保存"，创建的自定义接口会出现在页面上。 
   在页面右上方，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960125469.png)，可以查看自定义接口中的方法和模型对象。单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046116.png)，可导出该原生服务下接口定义yaml文件。
   
   
10. 单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932886728.png)，发布API。
    
    发布后如果需要修改API，需要单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933046164.png)，取消发布后进行修改，修改后再保存并发布。
    已发布的API可能在服务编排中已经使用，如果修改API导致不兼容，请同步修改引用该API的服务编排。
    
    
 
#### 在经典版环境配置中，查看API
发布API后，可在经典版环境配置中，查看该原生服务提供的方法和模型对象。
1. 参考[如何登录经典版环境配置](https://support.huaweicloud.com/usermanual-astrozero/astrozero_06_2092.html)中操作，登录经典版环境配置。
2. 在左侧导航栏中，选择"服务中心 \> 服务管理"。
3. 在服务管理页面，可查看到该租户下部署的所有原生微服务。
4. 单击需要查看的原生微服务，在"服务接口"页签中，可查看到该原生服务提供的方法和模型对象。
 
