当我们在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
中获得了重复的路线:
我们应该如何做到这一点,以便来自ApiController
的路由不会重复?
ApiController
资源导入?答案 0 :(得分:5)
你在Nelmio ApiDoc中获得重复的条目,因为Symfony中实际存在重复的路由。执行此命令以查看Symfony中的每个路由,包括您的API路径(将显示/api
前缀且不带前缀):
php app/console router:debug
正如Yann所说,我认为最好的方法是为您的API控制器创建一个单独的目录(类似@MyBundle/ControllerRest/
)并将它们放在那里。然后,不要忘记更新my_api
中routing.yml
部分下的资源路径以及API控制器中的命名空间。
这样你就可以摆脱重复的路线,因此ApiDoc每次通话只会显示一条路线,而不是两条。