被覆盖的控制器的Symfony重复路由名称问题

n53p2ov0  于 2023-08-06  发布在  其他
关注(0)|答案(1)|浏览(103)

我遇到了一个奇怪的问题与我的Symfony控制器。
我有两个类UserControllerClientUserController
ClientUserController extends UserController。我在ClientUserController中覆盖了一个控制器方法。
我的ClientUserController中有这个路由。

@Route("/user/get-requirements/{userId}", name="client_user_get_requirements")

字符串
我的UserController中有这个路由。

@Route("/user/get-requirements/{userId}", name="user_get_requirements")


这里的问题是,当我访问这个URL /user/get-requirements/33时,这完全忽略了ClientUserController的重写方法,并在UserController中运行原始方法。
我做错什么了?我是否缺少一些配置?

ou6hu8tu

ou6hu8tu1#

在Symfony >=5.1上,您可以在路由上使用priority
@Route("/user/get-requirements/{userId}", name="client_user_get_requirements", priority=10)
(默认priority为0)
参见https://symfony.com/blog/new-in-symfony-5-1-route-annotations-priority

相关问题