【问题标题】:Symfony router annotations override default controller prefixSymfony 路由器注释覆盖默认控制器前缀
【发布时间】:2022-01-14 06:54:48
【问题描述】:

我对 symfony 中的@Routing 注解有一点疑问。

我有一个控制器,我在其中添加了一个默认的@Route('/api/v1/users'),在这个控制器中我有一个带有@Route('/{userId}/documents'}) 的方法。

由于我有 V2 在此路由中添加参数,但方法的主要逻辑保持不变,我想在同一方法 @Route(/api/v2/users/ {userId}/{newParam}/documents')。

但是就像控制器上有一个默认的@Route 我生成的路由不好(因为它们使用 v1 前缀:

生成: /api/v1/users/{userId]/documents /api/v1/users/api/v2/users/{userId]/{newParam}/documents

我想要这个: /api/v1/users/{userId]/documents /api/v2/users/{userId]/{newParam}/documents

是否有一种方法可以在没有新控制器的情况下实现这一目标?也许我在@Route 上找不到一些选项?

【问题讨论】:

    标签: symfony routes


    【解决方案1】:

    我不确定您是否可以使用注释来做到这一点。 我找到的唯一解决方案是在 routes.yml 中添加您的 v2 路由并将其与相同的控制器功能匹配。

    【讨论】:

    • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
    猜你喜欢
    • 1970-01-01
    • 2016-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多