FosRestBundle不允许使用的方法

时间:2016-12-28 11:31:41

标签: symfony doctrine-orm fosrestbundle

我有一个API,其中包含一些控制器,用于各自的实体。它们具有相同的结构,但在其中一个中,当我尝试删除一个值时,我有这个错误。

  

找不到“DELETE / api / categories / 4”的路径:方法不允许(允许:GET,HEAD,PUT)

但是我创建了删除操作!在其他控制器中,使用相同的代码,它可以正常工作。

删除操作:

/**     
 * @return array  
 * @Rest\Delete("/categories/{id}")      
 * @Rest\View(statusCode=204)
 * @Method({"DELETE"})       
 */
public function deleteCategoryAction($id)
{
    $em = $this->getDoctrine()->getManager(); 
    $category = $em->getRepository('CASEventBundle:Category')->find($id);

    $em->remove($category);
    $em->flush();

    return new View("deleted successfully", Response::HTTP_OK);
}

路由文件:

category:
    type: rest
    resource: CAS\APIRestBundle\Controller\CategoryController

2 个答案:

答案 0 :(得分:2)

我已经解决了。它是在其他文件中重复的类名。

答案 1 :(得分:0)

我不确定但是尝试在路线中使用methods

category:
    type: rest
    resource: CAS\APIRestBundle\Controller\CategoryController
    methods: [DELETE]

Ref Here