如何将自动生成的路由限制为仅接受 POST 请求



我们使用Easy Extends覆盖了Sonata的RegistrationController。在我们的生成appDevProjectContainerUrlMatcher类中,我们现在有以下行:

        if ($pathinfo === '/password/reset') {
            return array (  '_controller' => 'Application\Sonata\UserBundle\Controller\RegistrationController::passwordResetAction',  '_route' => 'fos_user_password_reset',);
        }

我能够打开自定义RegistrationController类并看到以下内容:

/**
 * @return RedirectResponse
 */
public function passwordResetAction()
{
...
}

现在的问题是:我想使此操作仅接受 POST 请求。如果不存在路由注释,我该怎么做?(我找不到显式定义此路由的任何地方,除了上面提到的自动生成的类。

===

编辑:这是在Symfony 2.7应用程序中。

您可以验证它是否是 Post 请求,例如:

if ($request->isMethod('post')) { //    Uppercase request method:POST
    // your code
}

Symfony 2.7 文档说

getMethod(( 获取请求"预期"方法。

也许你也可以试试这个:

$request->getMethod()

最新更新