Если вы посмотрите на Маршрут, он позволит вам создавать более динамичные.Т.е.:
/**
* @Route("/pages/{fieldname}/{value}
*/
public function pageContentAction(Request $request)
{
...
}
Таким образом, вы можете повторно использовать параметры и проверять БД на содержание:
$fieldName = $request->get('fieldname');
$newValue = $request->get('value');
$page = $em->getRepository('AppBundle:Pages')->findOneBy(
array('fieldname' =>$fieldName,'value'=>$value)
);
if ($page == null){
return new JsonResponse(['message'=>'Page Not Found'],404);
}