2012-06-28 14 views
5

Quando vado a: http://mysite.com/web/app_dev.php/user/registerNessun percorso trovato per "GET/user/register": Metodo non consentito (Allow: POST)

sto ottenendo:

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

Ecco il mio codice:

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

il mio controller è:

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


     //some code 

    } 

Perché?

risposta

11

È possibile limitare un percorso per far corrispondere solo un determinato metodo HTTP. Nel codice che hai postato il percorso corrisponderà solo alle richieste POST. È necessario consentire POST e GET oppure rimuovere tutti i requisiti.

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

volte questo arrise errore quando si dispone di un errore nel controller o l'elemento ramoscello che sta per essere reso –

Problemi correlati