我有一个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
答案 0 :(得分:2)
我已经解决了。它是在其他文件中重复的类名。
答案 1 :(得分:0)
我不确定但是尝试在路线中使用methods
category:
type: rest
resource: CAS\APIRestBundle\Controller\CategoryController
methods: [DELETE]