function get(Request $req)
{
$resourceName = $req->get('resource');
if (!isset($this->module["resourceEntityMappings"][$resourceName])) {
throw new NotFoundHttpException();
}
$entityClass = $this->module["namespace"] . $this->module["resourceEntityMappings"][$resourceName];
// Filterer entities queried?
if ($req->getQueryString() != null) {
$querystring = $req->getQueryString();
$criteria = array();
$queryParts = \explode('&', $querystring);
foreach ($queryParts as $queryPart) {
$key_value = \explode('=', $queryPart);
$criteria[$key_value[0]] = urldecode($key_value[1]);
}
$entities = $this->em->getRepository($entityClass)->findBy($criteria);
// Single entity queried?
} elseif ($req->get('id') != null) {
$id = $req->get('id');
$entity = $this->em->getRepository($entityClass)->find($id);
$entities = array($entity);
} else {
$entities = $this->em->getRepository($entityClass)->findAll();
}
return new Response($this->serializer->serialize(array($resourceName => $entities), 'json'), 200, array('Content-Type' => $req->getMimeType('json')));
}