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

Symfony路由匹配异常:/api/recette/sub-recette未触发对应控制器

问题原因

Symfony 路由采用从上到下的顺序匹配机制,当请求/api/recette/sub-recette时,首先匹配到/api/recette/{id}这条路由——sub-recette被识别为{id}参数的合法值,因此直接触发recetteById方法,不会继续匹配后续路由。

解决方法

方案1:调整路由顺序

将固定路径的recette.subRecette路由放在带参数的recette.recetteById路由之前,让Symfony优先匹配明确的固定路径:

recette.subRecette:
  path: /api/recette/sub-recette
  controller: App\Controller\RecetteController::subRecette

recette.recetteById:
   path: /api/recette/{id}
   controller: App\Controller\RecetteController::recetteById

方案2:给{id}参数添加匹配约束

如果id仅为数字类型,可通过正则约束限制{id}的匹配范围,这样sub-recette就不会被误识别为id参数:

recette.recetteById:
   path: /api/recette/{id}
   controller: App\Controller\RecetteController::recetteById
   requirements:
       id: '\d+' # 约束id只能是数字

内容的提问来源于stack exchange,提问作者Sinay

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 12:35:28