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

创建API

概述

通过创建API,把已有后端服务封装成标准的RESTful API,并开放给数据需求方使用。

前提条件

  1. 每个API都要归属到某个集成应用下,在创建API前您需要有可用的集成应用,否则请提前创建集成应用。
  2. 每个API都要归属到某个API分组下,在创建API前您需要有可用的API分组,否则请提前创建API分组。
  3. 如果需要使用负载通道访问后端服务所在的服务器,请提前创建负载通道。
  4. 在创建API前,请确保ROMA Connect实例与您的后端服务所在网络互通。请参考环境准备中的配置。

操作步骤

  1. 完成后端和自定义认证的创建后,需要新建API并将API绑定对应的后端和自定义认证,单击服务集成API-->API管理-->新建API。

    图1 新建API

  2. 进入创建API界面,分为如下四步。

    图2 创建API界面

  3. 基本信息,选择认证方式为APP认证,将表1中创建的自定义认证选中,单击下一步。

    图3 基本信息配置
    表1 基本信息配置

    参数

    说明

    API名称

    填写API的名称,根据规划自定义。建议您按照一定的命名规则填写API名称,方便您快速识别和查找。

    所属分组

    选择API所属的API分组。若没有可用的API分组,可单击右侧的“新建分组”,创建一个API分组。

    集成应用

    仅当“所属分组”选择全局类型分组时可配置。

    选择API所属的集成应用。若没有可用的集成应用,可单击右侧的“新建集成应用”,创建一个集成应用。

    安全认证

    选择API的安全认证方式,推荐使用APP认证方式。

    • APP认证:表示由ROMA Connect对API请求进行安全认证。用户调用API时,使用授权集成应用的Key和Secret进行API请求的安全认证。使用该方式的API适合所有用户调用。
    • 华为IAM认证:表示由IAM对API请求进行安全认证。用户调用API时,使用Token或AK/SK进行API请求的安全认证。使用该方式的API仅适合同一云服务平台的用户调用。
    • 自定义认证:表示使用自定义的函数API对API请求进行安全认证。使用该方式的API适合所有用户调用。
    • 无认证:表示API请求不需要认证。使用该方式的API适合所有用户调用。

    支持简易认证

    仅当“安全认证”选择“APP认证”时可配置。

    是否对API的调用使用简易安全认证,仅当API请求协议为HTTPS时生效。若选择启用,则用户调用API时携带AppCode进行安全认证,无需对API请求进行签名校验。

    支持双重认证

    仅当“安全认证”选择“APP认证”或“华为IAM认证”时可配置。

    是否对API的调用进行双重安全认证。若选择启用,则在使用APP认证或IAM认证对API请求进行安全认证时,同时使用自定义的函数API对API请求进行安全认证。

    自定义认证

    仅当“安全认证”选择“APP认证”或“华为IAM认证”且“支持双重认证”开启时,或者“安全认证”选择“自定义认证”时需要配置。

    选择已创建的前端类型自定义认证。若没有可用的自定义认证,可单击右侧的“新建自定义认证”,创建一个前端类型的自定义认证。

    标签

    添加API的标签信息,用于快速过滤和查找API。

    描述

    填写API的描述信息。

    请求体内容描述

    仅当“Method”选择“POST”、“PUT”、“PATCH”或“ANY”时可配置。

    填写API请求中请求体的描述信息,用于帮助API调用者理解如何正确封装API请求。

  4. 定义API请求路径,并建议选择HTTPS,并设定API的请求方式GET、POST、PUT等。详细信息见表2

    图4 定义API请求路径
    表2 API请求配置

    参数

    配置说明

    请求协议

    选择API使用的请求协议,可选择“HTTP”、“HTTPS”和“HTTP&HTTPS”,传输重要或敏感数据时推荐使用HTTPS。

    请求Path

    填写API的请求路径,格式如:/getUserInfo/{userId}。请求路径中可包含Path参数,以{参数名}形式表示。

    • Path参数应匹配"/"之间的一整段,不支持匹配"/"之间的一部分,例如不支持/abc{userId}。若匹配模式为准确匹配,则尾部的Path参数可以添加+号,例如/users/{p+},其中变量p匹配一或多段"/"之间的部分。
    • 请求路径中包含Path参数时,必须配置对应的入参定义。
    • 请求路径中的内容区分大小写。

    匹配模式

    选择API请求路径的匹配模式。

    • 准确匹配:API请求中的请求路径要与“请求Path”的配置一致。
    • 前缀匹配:API请求中的请求路径要以“请求Path”的配置为前缀。例如,“请求Path”为“/test/AA”,使用前缀匹配时,通过/test/AA/BB和/test/AA/CC都可以访问API,但是通过/test/AACC无法访问。
    说明:

    使用前缀匹配时,匹配剩余的请求路径将透传到后端服务。例如,“请求Path”为“/test”,“后端请求Path”为“/test2”,使用前缀匹配时,通过/test/AA/CC访问API,后端服务收到的请求路径为/test2/AA/CC。

    Method

    选择API的请求方法。“ANY”表示该API支持任意请求方法。

    支持CORS

    是否支持跨域访问API。

    浏览器出于安全性考虑,限制从页面脚本内发起的跨域请求,此时页面只能访问同源的资源。而CORS允许浏览器向跨域服务器发送XMLHttpRequest请求,从而实现跨域访问。跨域访问API请参见配置跨域访问API。

    入参定义(可选)

    根据实际需要定义API的请求参数。请求路径中包含请求参数时,必须配置对应的入参定义。

    在“入参定义”下单击“添加入参定义”,添加API的请求参数。

    • 参数名:请求参数的名称。参数位置为“PATH”时,参数名需要与“请求Path”中的参数名称一致。
    • 参数位置:请求参数在API请求中的位置,可选择“PATH”、“HEADER”和“QUERY”。
    • 类型:选择请求参数的数据类型,可选择“STRING”和“NUMBER”。
    • 必填:在API请求中,请求参数是否必填。
    • 透传:请求参数是否透传到后端服务。
    • 默认值:仅当“必填”为“否”时可配置请求参数的默认值。
    • 枚举:请求参数的枚举值,请求参数的值只能从枚举值中选择,多个枚举值间用英文逗号隔开。
    • 最大长度/最大值:“类型”为“STRING”时,设置参数值的最大字符串长度,“类型”为“NUMBER”时,设置参数值的最大值。
    • 最小长度/最小值:“类型”为“STRING”时,设置参数值的最小字符串长度,“类型”为“NUMBER”时,设置参数值的最小值。

      最小长度/最小值和最大长度/最大值同时设置成0时,表示不做限制。

    • 示例:请求参数值的填写示例。
    • 描述:请求参数的描述信息。
    • 参数名不能以x-apig- 、x-sdk-开头,不能是x-stage,不区分大小写。
    • 参数位置为HEADER时,参数名不能是Authorization和X-Auth-Token,不区分大小写。

    请求体内容描述

    仅当“Method”选择“POST”、“PUT”、“PATCH”或“ANY”时可配置。

    填写API请求中请求体的描述信息,用于帮助API调用者理解如何正确封装API请求。

  5. 定义后端服务,后端服务地址和后端请求Path路径可在对应函数后端的请求地址中获取。

    图5 定义后端服务
    图6 创建后端

    另需要添加两个系统参数到后端参数中,x-auth-app和x-ld-appid,如下图:

    图7 添加两个系统参数

  6. 返回结果基础定义,完成API创建,单击发布API,选择发布环境。

    图8 返回结果基础定义
    图9 单击发布API

  7. 如果后端函数开启了签名认证,则API还需要绑定对应的签名证书。每个API只能绑定一个签名密钥。绑定方法如下图:

    图10 API管理
    图11 绑定API

  8. 若需要为特定客户端提供API访问权限,请参考应用和客户端的准备对客户端进行授权。

相关文档