找不到"GET/user/register"的路由:方法不允许(允许:POST)

jin*_*ini 5 php symfony

当我去: http://mysite.com/web/app_dev.php/user/register

我正进入(状态:

MethodNotAllowedHttpException: No route found for "GET /user/register": Method Not Allowed (Allow: POST) 
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

MainUserBundle_register:
    pattern:  /user/register/
    defaults: { _controller: MainUserBundle:UserAuthWebService:register, _format:json}
    requirements:
        _method:  POST
Run Code Online (Sandbox Code Playgroud)

我的控制器是:

 public function registerAction($email="test", $username="test", $password="test123")
    {


       //some code

    }
Run Code Online (Sandbox Code Playgroud)

为什么?

MDr*_*tte 11

您可以将路由限制为仅匹配给定的HTTP方法.在您发布的代码中,路由仅匹配POST请求.您需要同时允许POSTGET/或删除要求.

MainUserBundle_register:
    pattern:  /user/register/
    defaults: { _controller: MainUserBundle:UserAuthWebService:register, _format:json}
    requirements:
        _method:  POST|GET
Run Code Online (Sandbox Code Playgroud)

http://symfony.com/doc/current/book/routing.html#adding-http-method-requirements