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

升级nelmio/api-doc-bundle后访问/api/doc.json无匹配路由怎么解决

修复方案

问题原因

NelmioApiDocBundle 4.x版本重构了内部控制器命名,同时新增了文档区域(area)配置逻辑,3.x版本使用的nelmio_api_doc.controller.swagger控制器已被弃用,因此原有路由配置失效。

具体修改步骤

  • 调整路由配置
    修改config/routes/nelmio_api_doc.yaml内容,替换控制器名,按需补充area参数:
app.swagger:
    path: /api/doc.json
    methods: GET
    defaults: { _controller: nelmio_api_doc.controller.openapi, area: 'default' }

如果你的项目配置了多文档区域,将area参数的值替换为你要访问的区域名即可。

如果想直接使用Bundle自带的默认路由配置,也可以直接替换整个nelmio_api_doc.yaml路由配置为以下内容,会自动注册JSON接口和UI页面:

nelmio_api_doc:
    resource: '@NelmioApiDocBundle/Resources/config/routing/swaggerui.xml'
    prefix: /api/doc

使用上述配置后,JSON文档的访问地址为/api/doc.json,UI页面访问地址为/api/doc。

  • 清理Symfony缓存
    执行控制台命令清理缓存,让路由配置生效:
    php bin/console cache:clear

  • 验证路由是否生效
    执行以下命令查看路由列表,确认/api/doc.json路由已正常注册:
    php bin/console debug:router | grep api/doc

内容的提问来源于stack exchange,提问作者Mayor of the Plattenbaus

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.14 09:27:01