gpt4 book ai didi

Symfony2 路由 : import all controllers' annotations BUT exclude one (duplicated routes in NelmioApiDoc)

转载 作者:行者123 更新时间:2023-12-01 11:34:02 24 4
gpt4 key购买 nike

问题

当我们在routing.yml中定义时:

my_controllers:
resource: "@MyBundle/Controller/"
type: annotation
prefix: /

和:

my_api:
resource: 'MyBundle\Controller\ApiController'
type: rest
prefix: /api
name_prefix: my_api_
options:
expose: true

我们在 NelmioApiDoc 中得到重复的路由:

enter image description here

问题

我们应该如何做到这一点才能避免来自 ApiController 的路由重复?

  • 从“通配符”资源导入中排除 ApiController
  • 单独导入所有其他 Controller ?
  • 其他解决方案?

最佳答案

你在 Nelmio ApiDoc 中得到重复的条目,因为在 Symfony 中实际上有重复的路由。执行此命令以查看 Symfony 中的每条路由,包括您的 API 的路由(将同时显示带有 /api 前缀和不带前缀的路由):

php app/console router:debug

正如 Yann 所建议的,我认为最好的方法是为您的 API Controller 创建一个单独的目录(类似于 @MyBundle/ControllerRest/)并将它们放在那里。然后,不要忘记更新 routing.ymlmy_api 部分下的资源路由和 API Controller 中的命名空间。

这样你就可以摆脱重复的路由,因此 ApiDoc 每次调用只会显示一条路由,而不是两条。

关于Symfony2 路由 : import all controllers' annotations BUT exclude one (duplicated routes in NelmioApiDoc),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29365030/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com