2012-06-28 76 views
5

当我去:http://mysite.com/web/app_dev.php/user/register发现 “GET /用户/注册” 没有路线:不允许的方法(允许:POST)

我越来越:

MethodNotAllowedHttpException: No route found for "GET /user/register": Method Not Allowed (Allow: POST) 

这里是我的代码:

MainUserBundle_register: 
    pattern: /user/register/ 
    defaults: { _controller: MainUserBundle:UserAuthWebService:register, _format:json} 
    requirements: 
     _method: POST 

我的控制器:

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


     //some code 

    } 

为什么?

回答

11

您可以将路由限制为仅匹配给定的HTTP方法。在您发布的代码中,路线只会匹配POST请求。您需要允许POSTGET,或者一并删除所有要求。

MainUserBundle_register: 
    pattern: /user/register/ 
    defaults: { _controller: MainUserBundle:UserAuthWebService:register, _format:json} 
    requirements: 
     _method: POST|GET 

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

+0

有时这种错误arrise当你在你的控制器中的错误,或者是怎么回事树枝元素被渲染 –