1

Тема: Вопрос о роутинге

Помогите, пожалуйста, разобраться с тонкостями роутинга).

У меня есть экшен в контроллере:

    /**
     * @Security("is_granted(['ROLE_USER'])")
     * @Route("/quizzes/{id}/save", requirements={"id" = "\d+"}, name="quizzes_save", condition="request.isXmlHttpRequest()")
     * @Method("POST")
     */    
    public function saveAction(Request $request, $id)
    {        
          //
    }

когда я посылаю к нему аякс запрос методом POST, я вижу в консоли 500 ошибку, если посмотреть опять-таки в консоли код, то там  500 Internal Server Error - MethodNotAllowedException, и в трейсе, что-то типа:  in kernel.root_dir/cache/dev/appDevUrlMatcher.php at line 4883
При этом, как только я меняю ограничение по методам на GET и POST (@Method({"GET", "POST"})) все начинает прекрасно работать. Аякс запрос именно методом POST, и это видно в консоли. Почему так?

И второй вопрос. Я встречал ограничение по http методу для контроллера в аннотациях, в таком виде:

    /**
     * @Security("is_granted(['ROLE_USER'])")
     * @Route("/quizzes/{id}/save", requirements={"id" = "\d+", "_method" = "POST"}, name="quizzes_save", condition="request.isXmlHttpRequest()")
     */    

чем это ("_method" = "POST") отличается от @Method("POST")?