FosRestBundle 不允许的方法
Method Not Allowed with FosRestBundle
我有一个 API,其中有一些控制器用于各自的实体。它们具有相同的结构,但其中一个在尝试删除值时出现此错误。
No route found for "DELETE /api/categories/4": Method Not Allowed (Allow: 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
我不确定,但尝试在路线
中使用 methods
category:
type: rest
resource: CAS\APIRestBundle\Controller\CategoryController
methods: [DELETE]
Ref Here
我已经解决了。这是一个在其他文件中重复的 class 名称。
我有一个 API,其中有一些控制器用于各自的实体。它们具有相同的结构,但其中一个在尝试删除值时出现此错误。
No route found for "DELETE /api/categories/4": Method Not Allowed (Allow: 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
我不确定,但尝试在路线
中使用methods
category:
type: rest
resource: CAS\APIRestBundle\Controller\CategoryController
methods: [DELETE]
Ref Here
我已经解决了。这是一个在其他文件中重复的 class 名称。