
# 使用APIG专享版实现不同后端服务的调用实施步骤
 #### 前提条件
1. 已创建自定义认证函数，如果未创建请[创建函数](https://support.huaweicloud.com/zh-cn/qs-functiongraph/functiongraph_04_0101.html)章节创建，并且在函数的返回值中已设置context字段，字段中包含键值对。其中键值对的值只支持字符串、布尔、整型三种数值类型，**键值对对应"系统参数-前端认证参数"策略条件的参数名称和条件值** 。
   图1自定义认证函数   
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002109102709.png "点击放大") 
2. 已创建前端自定义认证。如果未创建，请参考[自定义认证](https://support.huaweicloud.com/usermanual-apig/apig_03_0029.html)章节创建。
 
 #### 配置API前端
1. 登录[API网关控制台](https://console.huaweicloud.com/apig2/#/overview)。
2. 根据实际业务在左侧导航栏上方选择实例。
3. 在左侧导航栏选择"API管理 \> API列表"。
4. 单击"创建API \> 创建API"，配置前端信息。 
   表1前端配置 
   | 参数    | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                   |
   |:---|:---|
   | API名称 | 填写API名称。                                                                                                                                                                                                                                                                                                                                                                                                                               |
   | 所属分组  | API所属分组，此处默认"DEFAULT"。                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | URL   | - 请求方法：接口调用方式，默认"GET"。  - 请求协议：选择API请求协议，默认"HTTPS"。  - 子域名：API分组创建后，系统为分组自动分配一个内部测试用的调试域名，此调试域名每天最多可以访问1000次。  - 路径：接口请求路径。此处填写"/1234"。   |
   | 网关响应  | API网关未能成功处理API请求，从而产生的错误响应。 默认的网关响应为"default"。                                                                                                                                                                                                                                                                                                                             |
   | 安全认证  | 选择API认证方式，此处选择"自定义认证"。                                                                                                                                                                                                                                                                                                                                                                                                                 |
   | 自定义认证 | 选择[前提条件]中已创建的自定义认证。                                                                                                                                                                                                                                                                                                                                                    |
      
   
   
 
 #### 配置API后端
1. 前端设置完成后，单击"下一步"，进入后端设置页面。 
   设置"默认后端"的后端服务类型为"Mock"类型，Mock返回结果填写"默认后端"。
   
   
2. 单击![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002108942741.png)根据下表添加策略后端。
   
   表2配置策略后端 
   | 参数       | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
   |:---|:---|
   | 后端策略名称   | 填写后端策略名称。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
   | 后端服务类型   | 此处选择"Mock"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | Mock返回结果 | 此处填写"策略后端"。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
   | 策略条件     | - 条件来源：选择"系统参数-前端认证参数"。  - 参数名称：填写[前提条件]已创建自定义认证函数返回体中context字段下的 "authstatus1"。  - 条件类型：选择"相等"。  - 条件值：填写[前提条件]已创建自定义认证函数返回体中context字段下的"False"。   |
      
   
   
3. 单击"完成"，完成创建API。
 
 #### 调试API
为了方便观察，在创建策略后端时后端服务类型选择"Mock"，并且设置Mock返回结果。如果策略后端的后端服务类型为其他，可以观察对应的后端地址是否被成功访问。
1. 在"API运行"页面单击"调试"，调试已创建的API。 
   响应结果中显示"200 OK"，表示API调用成功，并且返回值中有"策略后端"字样，表示设置的策略后端的匹配条件成功匹配到前端自定义认证函数返回体中的context字段中的键值对，API调用策略后端成功。否则，请参考[错误码](https://support.huaweicloud.com/usermanual-apig/apig_03_0048.html)章节处理。
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002073262956.png "点击放大")
   
   
2. 在"API运行"页面，单击"编辑"，进入API设置页面。
3. 单击"下一步"，进入API的后端设置页面，修改已添加策略后端的策略条件值为"True"。
4. 单击"完成"，完成API的编辑。
5. 再次调试API。 
   由于此时设置的策略后端的参数和条件值没有匹配到前端自定义认证函数返回体中context字段下的任意键值对，因此，无法通过前端自定义认证参数匹配到API的策略后端，此时API的响应结果显示"200 OK"，但是返回值为"默认后端"，表示此时调用的是API的默认后端。否则，请参考[错误码](https://support.huaweicloud.com/usermanual-apig/apig_03_0048.html)章节处理。
   ![](https://support.huaweicloud.com/bestpractice-apig/zh-cn_image_0000002073103108.png "点击放大")
   
   
 
