Php 如何使用注释向某些控制器添加前缀?
我现在有两个控制器Php 如何使用注释向某些控制器添加前缀?,php,symfony,symfony4,symfony-routing,Php,Symfony,Symfony4,Symfony Routing,我现在有两个控制器 GitlabAuthController UserController 我只需要将路径前缀api添加到UserController 在我尝试在annotations.yaml文件中执行以下操作之前: controllers: resource: ../../src/Controller/ type: annotation prefix: api 但这会将前缀添加到我的所有控制器中 是否有任何方法可以为GitlabAuthController添加异
GitlabAuthController
UserController
api
添加到UserController
在我尝试在annotations.yaml
文件中执行以下操作之前:
controllers:
resource: ../../src/Controller/
type: annotation
prefix: api
但这会将前缀添加到我的所有控制器中
是否有任何方法可以为
GitlabAuthController
添加异常?只需为不同类型的控制器创建不同的目录/名称空间
然后你可以做:
controllers:
resource: ../../src/Controller/
type: annotation
api_controllers:
resource: ../../src/Controller/Api
type: annotation
prefix: api
在Api
命名空间上定义的路由将获得/Api/
前缀,而其他路由将不受影响
您可以通过执行
bin/console debug:router
检查生成的路由是否正常,只需为不同类型的控制器创建不同的目录/名称空间即可
然后你可以做:
controllers:
resource: ../../src/Controller/
type: annotation
api_controllers:
resource: ../../src/Controller/Api
type: annotation
prefix: api
在Api
命名空间上定义的路由将获得/Api/
前缀,而其他路由将不受影响
您可以通过执行
bin/console debug:router
检查生成的路由是否正常。是否需要在控制器文件夹中创建文件夹Api?如果要使用上述配置,请选择“是”。并且您放入其中的控制器应位于App\Controller\Api
命名空间中。是否需要在控制器文件夹中创建文件夹Api?如果要使用上述配置,请选择“是”。您在其中放置的控制器应该位于App\Controller\Api
命名空间中。