2012-06-28 43 views
5

Khi tôi đi đến: http://mysite.com/web/app_dev.php/user/registerKhông tìm thấy tuyến đường cho "GET/người dùng/đăng ký": Phương pháp không được phép (Allow: POST)

Tôi nhận:

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

Đây là mã của tôi:

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

điều khiển của tôi là:

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


     //some code 

    } 

Tại sao?

Trả lời

11

Bạn có thể giới hạn tuyến đường để chỉ khớp với phương thức HTTP đã cho. Trong mã bạn đã đăng, tuyến đường sẽ chỉ khớp với các yêu cầu POST. Bạn sẽ cần phải cho phép POSTGET hoặc xóa tất cả yêu cầu cùng nhau.

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

Đôi khi arrise lỗi này khi bạn có một lỗi trong điều khiển của bạn hoặc các yếu tố cành lá có nghĩa là sẽ được trả lại –

Các vấn đề liên quan