Symfony % 导致找不到路由

Symfony % causing no route found

我有一个带有 generateQrCodeAction 的控制器:

/**
 * @Route("/qrCode/generate/{eakte}")
 * @param $eakte
 * @return Response
 */
public function generateQrCodeAction($eakte) {
    $qrService = $this->get("app.qrcode");
    $qrService->generate_qr_code($eakte);
    return new Response("done");
}

eakte 参数是 url 编码的参数,来自包含“/”的字符串。 url 编码“/”导致 eakte 参数中的“%2F”。但是,当我以路由 /qrCode/generate/800%2F08SL300001 为例进行测试时,出现路由未找到错误。似乎路线中不允许使用 % !有解决办法吗?

这将允许您在 url 参数中使用“/”

/**
 * @Route("/qrCode/generate/{eakte}", requirements={"eakte"=".+"})
 */

来源:https://symfony.com/doc/current/routing/slash_in_parameter.html