跳到主要内容
版本:1.1-beta

添加路由

路由是指API网关根据客户端请求的特定路径或条件,将请求转发到相应的后端服务的过程。API网关是一个位于客户端和服务器之间的中间层,用于管理、监控和路由客户端的API请求。它的路由功能是API网关的核心功能之一。

在API网关中,路由通常是基于URL路径、HTTP方法(如GET、POST等)、请求头、查询参数等多种条件进行的。当API网关收到客户端的请求时,会根据预先配置的路由规则,决定将请求转发到哪个后端服务。

路由匹配规则

APIPark的路由可配置多种指标,包括请求协议、请求方式、请求路径、请求Header、Query参数。

匹配优先级为:请求协议 > 请求方式 > 请求路径 > 请求Header > Query参数

请求协议、请求方式在配置时可多选,如下图:

请求路径匹配规则

匹配类型规则说明
全等匹配str值存在,且与str完全相等
前缀匹配str*值存在,且str是值的前缀,当前模式下,网关会将str后方的路径拼接到转发路径中。

全等匹配示例

  • 请求路径:/shop/user/info
  • 转发路径:/user/info

此时请求路径如下:

POST /shop/user/info

网关将会请求上游服务的路径如下:

POST /user/info

若请求路径非/shop/user/info,则无法匹配该路由。

前缀匹配示例

  • 请求路径:/shop/user/*
  • 转发路径:/user/

此时请求的路径和实际转发到上游服务的路径关系如下:

POST /shop/user/info    ->   POST /user/info
POST /shop/user/phone -> POST /user/phone
POST /shop/user/order -> POST /user/order

请求头、Query参数值匹配规则

匹配类型规则说明
全等匹配str值存在,且与str完全相等
前缀匹配str*值存在,且str是值的前缀
后缀匹配*str值存在,且str是值的后缀
子串匹配str值存在,且str是值的子串
非等匹配!=str值存在,且值不等于str时匹配成功
空值匹配$要求key存在且值为空值,多用于header、query指标
存在匹配**要求key存在但不能为空值,多用于header、query指标
不存在匹配!要求key不存在,多用于header、query指标
区分大小写的正则匹配~=str值符合正则匹配
不区分大小写的正则匹配~*=str值符合正则匹配
任意匹配*任何情况都匹配成功

操作演示

添加路由

  1. 选择需要配置的服务,进入服务内页。

  1. 点击 "路由"

  1. 点击 "添加路由"

  1. 填写路由的基本信息

字段描述

字段名称字段描述
拦截该接口的请求是否拦截该接口的请求
请求方式支持常见HTTP请求方式GET、POST、PUT、DELETE等,支持多选
请求路径API的URI,用于应用请求URL中的相对路径,支持Restful参数以及路径前缀匹配
高级匹配支持通过请求头,请求参数、Cookie 进行路由匹配,可添加多条
转发上游路径转发至上游的相对路径
请求超时时间定义网关转发请求到上游至响应的超时时间
重试次数当转发请求到上游失败时,网关会自动触发重试转发请求,最大次数不超过重试次数
转发上游请求头可对转发上游请求头进行新建、编辑以及删除参数,主要应用于网关与上游间鉴权

填写完后,点击 "提交" 按钮.

此指南涵盖了在应用程序中配置路由的所有步骤,包括选择路由选项,添加路由,选择请求方式,配置 API 基础信息,以及最终提交配置。