创建REST API并添加接口

REST API主要面向以业务为中心的开发团队,适用于API First、API精细化管理等场景,支持通过控制台、AI大模型或者基于OpenAPI 导入的方式创建。本文主要介绍如何创建REST API并添加接口。

概述

API是一个整体的服务定义,定义了如何与系统进行交互的规则和方法,包含一系列接口;通过API,您可以调用预定义的功能、访问数据资源或触发系统行为,而无需了解底层实现的复杂细节。而接口是API的具体实现部分,提供了访问和操作API功能的入口点,每个接口通常对应一个特定的功能或服务。通过接口,客户端应用可以与服务器进行交互,执行所需的操作并获取响应结果。

创建REST API

云原生API网关提供了实例内和实例外两种创建API的方式:

  1. 登录云原生API网关控制台

  2. 支持实例内和实例外创建REST API两种方式:

    实例内API

    1. 在左侧导航栏,选择实例,并在顶部菜单栏选择地域。

    2. 实例页面,单击目标网关实例ID。

    3. 选择左侧导航栏的API,单击右上角创建API

    实例外API

    1. 在左侧导航栏,选择API,并在顶部菜单栏选择地域。

    2. API页面单击右上角创建API

  3. 选择REST API,单击创建,在创建REST API页面配置API相关参数。

    配置项

    说明

    API名称

    自定义创建的API名称。

    重要

    API名称必须全局唯一。

    域名

    选择一个或者多个域名。

    Base Path

    API的基本路径,访问具体接口时,完整路径为http(s)://{域名}/{BasePath}/{接口Path}

    版本管理

    是否启用API版本管理能力,不同版本的API视为独立的API,它们具有相同的API名称,但API的其他基本信息和接口信息可以不同。访问时需要指定版本标识符。

    开启版本管理功能后,需要配置使用方式

    说明
    • 实例外支持REST API是否启用版本管理功能,实例内暂不支持版本管理。

    • 选择使用方式Query时,需要配置参数项添加Query

    • 选择使用方式Header时,需要配置参数项添加Header

    使用方式

    支持PathQueryHeader三种方式。

    • 使用Path时,需要完整访问路径为:/API基本路径/版本号/接口路径。

    • 使用Query时,完整访问路径为:/API基本路径/接口路径,请求参数中需要配置参数项添加Query为版本号。

    • 使用Header时,完整访问路径为:/API基本路径/接口路径,请求头中需要配置参数项添加Header为版本号。

    描述

    填写API的相关描述。

    资源组

    选择目标资源组。您可单击右侧的创建资源组

    使用场景

    使用场景包括基础场景和灰度场景两类。关于目标服务不同类型说明,请参见路由

    基础场景

    单服务:所有流量请求将转发到某一具体的后端服务(最常使用的场景)。

    灰度场景

    • 按比例(多服务):所有的流量将按比例分发到对应的后端服务中,常用于切流及灰度发布场景。

      说明

      要求多个条目的服务权重之和等于100。

    • 按内容(多服务):所有的流量将按照匹配条件分发到对应的后端服务中,若匹配条件勾选默认,则无其他匹配规则命中时,流量将进入该条目所对应后端服务。

      • 匹配条件支持:等于、前缀是、正则匹配。

      • 参数类型支持:Query、Header。

      多个匹配条件之间为“且”运算逻辑。

      重要

      要求多个条目中,只允许一个条目勾选默认,且其余条目的匹配条件非空。

    • 标签路由(按比例):标签路由场景,所有流量将按比例分发到多个后端服务的多个版本。全链路灰度场景下推荐优先使用单服务路由,以获得更好的性能与体验。

    后端服务

    关联该网关/VPC下的后端服务。若该网关下无后端服务,可单击创建服务

步骤二:添加接口

  1. 登录云原生API网关控制台

  2. 支持实例内和实例外API添加两种方式:

    实例内API

    1. 在左侧导航栏,选择实例,并在顶部菜单栏选择地域。

    2. 实例页面,单击目标网关实例ID。

    3. 选择左侧导航栏的API,单击目标REST类型API,单击添加接口

    实例外API

    1. 在左侧导航栏,选择API,并在顶部菜单栏选择地域。

    2. API列表中,单击进入目标API。

      • 如果目标API开启了版本管理,需要先选择版本,后单击添加接口

      • 如果目标API未开启版本管理,直接单击添加接口

  3. 创建接口面板中,配置接口相关参数,并单击添加

    配置项

    说明

    接口名称

    自定义创建的接口名称,在API下需要全局唯一。

    接口Path

    接口的具体路径。

    方法

    接口的请求方法。接口的路径+接口的方法,需要在API下全局唯一。

    描述

    接口的描述信息。

    请求定义

    支持定义HeaderQueryParameter Path参数以及Body参数。

    其中Path参数支持在接口Path中三种定义变量的方式:

    • /books/{bookId}

    • /books/[bookId]

    • /books/:bookId

    其中,推荐使用{bookId}方式进行定义。

    说明

    请求定义仅用于生成SDK和文档,不对运行时进行校验。

    响应定义

    定义不同响应码的数据结构。

    响应码定义仅用于生成文档,不对运行时进行校验。

    Mock

    Mock配置仅在API发布Mock场景下生效。

    说明

    实例外支持REST APIMock配置功能,实例内暂不支持Mock配置。

    消费者认证

    开启或关闭消费者认证,默认关闭。开启消费者认证后,需为当前接口绑定消费者授权关系,否则无法访问。

指定接口后端服务

  • 实例外添加接口,默认继承自API关联的后端服务。不支持编辑后端服务操作。

  • 实例内添加接口,可以指定继承自API或者单独为接口配置的两种配置方式。

在目标接口的接口详情页签下后端服务栏,配置方式默认为继承自API。您可以保持将接口继承API所关联的后端服务,或者为接口重新指定后端服务。

image

例如需要对已创建接口Mock处理,指定请求返回结果。配置方式选择单独为接口配置,填写状态码响应内容,即可完成后端服务的重新指定。

配置项

描述

配置方式

  • 单独为接口配置:接口单独关联后端服务,优先于API级。

  • 继承自API:继承自API所关联的后端服务。

使用场景

选择当前路由的目标服务类型。

  • 基础场景:单服务

  • 灰度场景:按比例(多服务)按标签(标签路由)

  • 其他场景:Mock重定向

关于目标服务不同类型说明,请参见路由

说明

涉及权重的目标服务流量比例总和要求为100%。

后端服务

选择已关联的后端服务和端口。

说明
  • 您可以单击关联服务,在面板选择来源和服务。

  • 不同的来源类型允许添加的来源数量有不同的限制。

    • 容器服务不得超过5个。

    • NacosZookeeper只能添加一个。

通过导入OpenAPI文件创建并添加接口

  1. 登录云原生API网关控制台

  2. 支持实例内和实例外导入两种方式:

    实例内API

    1. 在左侧导航栏,选择实例,并在顶部菜单栏选择地域。

    2. 实例页面,单击目标网关实例ID。

    3. 选择左侧导航栏的API,单击右上角创建API

    实例外API

    1. 在左侧导航栏,选择API,并在顶部菜单栏选择地域。

    2. API页面单击右上角创建API

  3. 单击REST API卡片中的导入

  4. 基于OpenAPI创建文件面板中,配置API相关参数,并单击预检并创建

    配置项

    说明

    API名称

    自定义创建的API名称,API名称需要全局唯一。

    上传方式

    支持本地文件OSS文件导入

    OpenAPI文件

    支持选择文件或粘贴文本内容,限制文件大小在30M内。

    版本管理

    是否启用API版本管理能力,不同版本的API视为独立的API,它们具有相同的API名称,但API的其他基本信息和接口信息可以不同。访问时需要指定版本标识符。

    开启版本管理功能后,需要配置使用方式

    说明
    • 选择使用方式Query时,需要配置参数项添加Query

    • 选择使用方式Header时,需要配置参数项添加Header

    使用方式

    支持PathQueryHeader三种方式。

    • 使用Path时,需要完整访问路径为:/API基本路径/版本号/接口路径。

    • 使用Query时,完整访问路径为:/API基本路径/接口路径,请求参数中需要配置参数项添加Query为版本号。

    • 使用Header时,完整访问路径为:/API基本路径/接口路径,请求头中需要配置参数项添加Header为版本号。

    描述

    填写API的相关描述。

    资源组

    选择目标资源组。您可单击右侧的创建资源组