Symfony2:奇怪的路由未找到错误

时间:2016-09-29 17:32:16

标签: php symfony

所以我把它定义为:

/**
 * Class TemplateController
 * @package TemplateManager\Bundle\DocumentGeneratorBundle\Controller\API
 * @Route("/api/v1/templates")
 */
class TemplateController extends Controller
{
    /**
     * @Route("?available={id}")
     * @Method({"GET"})
     */
    public function findAllAction($id)
    {
        echo "Yu";
    }

/**
     * @Route("/{id}")
     * @Method({"GET"})
     * @param $id
     * @param $template_name
     * @return Response
     */
    public function findAction($id)
    {}
}

http://localhost/api//v1/templates?available=1方式访问时,表示找不到匹配的路由。我哪里做错了?另一条路线运行正常。

2 个答案:

答案 0 :(得分:1)

您的控制器的基本路线定义为@Route("/api/v1/templates"),但您只需拨打" / api / templates / *"。你只是忘了" / v1 /"在那里。

尝试拨打http://localhost/api/v1/templates?available={id}

请注意:在CLI上,您始终可以转储所有已注册的路由,以便于调试。只需输入:

$> app/console debug:router

# or bin/console if you're using Symfony3 and above
$> bin/console debug:router

答案 1 :(得分:0)

不应该

http://localhost/api/template?available=1

而不是

http://localhost/api/templates?available=1

检查URL中使用的控制器类和单词。