我有一个像这样的删除路由,使用FOSRestBundle
/**
* @Route("/delete/{id}")
* @Security("has_role('ROLE_ADMIN')")
* @Rest\View
*/
public function deleteAction(Request $request, $id)
{
...
}
我想确保id参数是数字。 我试过了:
@Route("/delete/{id}", requirements={"id" = "\d+"})
和
@QueryParam(name="id", requirements="\d+", description="User id")
和
@RequestParam(name="id", requirements="\d+", description="User id")
但这些解决方案都不起作用。找不到路线,或者不遵守约束。
答案 0 :(得分:2)
这有效,但在尝试访问api/users/xx.json
@Rest\Delete("/{id}", requirements={"id" = "\d+"}, defaults={"id" = 1})