You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Apache APISIX独立模式下如何配置限制性路径段路由通配符

解决方案

针对你需要匹配/v1/endpoint/{数字ID}/something/{数字ID}这类严格格式URI的需求,Apache APISIX 2.15版本提供两种精准匹配方案,比通配符*更具限制性:

方案1:正则表达式URI匹配

直接通过正则表达式定义URI规则,仅匹配符合两段数字ID的路径:

routes:
  # 原有路由
  - uri: /v1/endpoint
    methods: [POST]
    service_id: myserviceid
  # 新增的精准匹配路由
  - uri: "~^/v1/endpoint/\\d+/something/\\d+$"
    methods: [POST] # 根据实际需求调整请求方法
    service_id: myserviceid # 替换为你的目标服务ID

说明:

  • ~开头表示这是一个正则表达式URI
  • \\d+匹配1个或多个数字(YAML中反斜杠需要转义,所以写\\d)
  • ^和$确保整个URI完全匹配,避免前缀匹配多余路径

方案2:路径变量+变量验证

通过定义路径变量,并添加变量校验规则,既可以精准匹配格式,还能后续在插件或上游中使用ID值:

routes:
  # 原有路由
  - uri: /v1/endpoint
    methods: [POST]
    service_id: myserviceid
  # 新增路由
  - uri: /v1/endpoint/{id1}/something/{id2}
    methods: [POST]
    service_id: myserviceid
    vars:
      # 验证id1是数字
      - ["path.id1", "regex_match", "^\\d+$"]
      # 验证id2是数字
      - ["path.id2", "regex_match", "^\\d+$"]

说明:

  • {id1}和{id2}是路径变量,可通过path.id1、path.id2获取对应值
  • vars中的规则会校验变量是否为纯数字,只有满足条件的请求才会匹配该路由

注意:独立模式下修改conf/apisix.yaml后,需要重启APISIX容器才能生效。

内容的提问来源于stack exchange,提问作者Dave B 84

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.16 06:19:57