【问题标题】:Symfony Route Doesn't Show in debug:routerSymfony Route 不显示在 debug:router 中
【发布时间】:2020-03-19 01:29:41
【问题描述】:

我一辈子都无法通过这条路线上班:

/***
 * @Route("/load_base_data/{projectId}", name="load_base_data", methods={"GET"})
 * @return Response
 */
public function loadBaseMeasures(int $projectId, DataLoadService $dataLoadService, ApiService $apiService)
{
    $response = $apiService->initResponse();
    $dataLoadService->generateFiles($projectId);

    return new JsonResponse($response);
}

我尝试了 php bin/console debug:router,但它没有出现在列表中。 我试过 php bin/console cache:clear

这是我唯一遇到问题的路线。

【问题讨论】:

  • 只是一个猜测,我懒得自己测试它,但将 /*** 更改为 /** 看看是否有帮助。我假设这是在控制器中,并且其他控制器路由正在显示。
  • 必须是loadBaseMeasuresAction 吗?
  • @craigh 不,不需要操作后缀。回到 S2,它在 yaml/xml 文件中定义路由时使用。但它不再是一个东西。
  • 路由可以被具有完全相同的 name(字面意思是注释中的 name 属性)的其他路由覆盖,删除前一个路由以支持后者。你能检查一下这条路线有一个唯一的名字吗?
  • 试试bin/console router:match /load_base_data/123 看看是否匹配。这会告诉你一个接近的匹配,如果它被覆盖。如果您甚至包含此控制器和激活的注释,还要检查您的 routing.yaml。

标签: symfony routes


【解决方案1】:

Cerad 是对的,问题在于/***。更改为/** 并且有效。谢谢!

【讨论】:

    猜你喜欢
    • 2020-04-08
    • 1970-01-01
    • 1970-01-01
    • 2019-09-02
    • 2018-08-25
    • 2020-07-04
    • 2021-12-19
    • 1970-01-01
    • 2018-06-24
    相关资源
    最近更新 更多