开发者社区 问答 正文

API 网关如何使用?


API 网关上,创建 API 之前要创建分组,一个分组下可以有多个 API。也就是说一项服务,可以包装成一个分组,一项服务中的多个功能接口分别是这个分组下的多个 API。
[backcolor=transparent]下面以一个 API 配置流程作为例子,让您更清晰地了解如何开放 API 并接入 API 网关。
假如数据市场开放一个服务。

  • 服务名称:已开放的 API 服务信息查询。
  • 服务描述:您通过调用 API 可以查询已经开放的 API 的列表、详细信息等。


例1:Path 中没有动态参数。




例2:Path 中有动态参数。




后端前端的灵活映射:


前端:您调用 API 时,API 请求从您到网关的部分。
后端:请求到达网关后,网关到实际后端服务的部分。
  1. 后端host ≠ 前端域名。
  2. 后端path ≠ 前端 [backcolor=transparent]path。

  3. 客户传入参数的位置和名称 ≠ 实际后端服务接收参数的位置和名称(注意 [backcolor=transparent]body 只能前后端都为二进制或者都为[backcolor=transparent]form)。
    API 网关可以做全方位的前后都映射。

那么上面这个例子该要怎么配置,基本步骤流程如下(以例 2 为例):

展开
收起
轩墨 2017-10-26 11:27:37 2395 分享 版权
阿里云 AI 助理回答

为了开放数据市场中的“已开放的 API 服务信息查询”服务,并通过API网关进行配置,我们将遵循以下结构化步骤,以例2(Path中包含动态参数)为例进行说明:

1. 创建VPC授权(如后端服务位于VPC内)

  • 登录API网关控制台,选择相应地域。
  • API管理 > VPC授权下,点击创建授权
  • 输入VPC授权名称VPC Id实例Id或地址端口号等必要信息。确保与后端服务匹配。

2. 创建API分组

  • API管理 > 分组管理下,点击创建分组
  • 填写分组名称(例如data-market-query),BasePath(如/api/market),并完成其他设置后点击确定

3. 创建API

前端配置

  • 分组管理找到刚创建的分组,点击API管理
  • 点击创建API,在基本信息栏填写API名称、描述等。
  • 设置前端Path,假设动态参数为apiId,则前端Path可设为/query/opened-api/{apiId}
  • 选择合适的HTTP Method(如GET)。

后端配置

  • 进入定义API后端服务栏,根据实际情况选择后端服务类型,如后端是HTTP服务,则直接配置。
  • 若后端服务在VPC内,需指定之前创建的VPC授权名称
  • 后端服务地址应填写后端实际地址,格式如http://your-backend-service-host:port
  • 后端请求Path映射前端Path,动态参数使用{apiId}表示,例如/api/info/query/{apiId}
  • 配置参数映射,确保前端传入的参数名与后端接收的参数名一致,包括位置和类型映射。
  • 根据需要配置常量参数系统参数,以便传递额外信息或获取请求上下文信息。

4. 发布API

  • 完成配置后,发布到线上环境,输入必要的变更备注后点击发布

5. 创建应用和API授权(如果需要)

  • 如果调用方需要认证,还需创建APP并在API网关中为该APP授权访问此API。

6. 上架云市场(如适用)

  • 根据云市场的具体要求,将已发布的API进行包装和上架操作,可能涉及文档撰写、定价策略设定等。

注意事项

  • 动态参数在Path中的使用需确保前后端逻辑一致。
  • 参数映射需精确,避免因参数不匹配导致的调用失败。
  • 考虑到安全性和性能,合理配置认证方式、流量控制及监控告警功能。

通过以上步骤,您可以成功地在API网关上配置一个包含动态参数的API,实现对“已开放的 API 服务信息查询”的服务封装和管理。

有帮助
无帮助
AI 助理回答生成答案可能存在不准确,仅供参考
0 条回答
写回答
取消 提交回答
问答标签:
问答地址: