/** * Display one member identified by id in Json format. * * @example * { * "member": { * "id": 1, * "name": "Bland", * "firstName": "\u00a0Angie", * "phone": "0611111111" * } * } * * @Route("/api/members/{id}", requirements={"id" = "\d+"}) */ public function getAction($id) { $response = new JsonResponse(); $response->setCharset('UTF-8'); $response->setEncodingOptions(JSON_PRETTY_PRINT); try { $this->initialize(); $member = $this->memberRepository->findById($id); if ($member == null) { $response->setData('Aucun adhérent ne correspond à votre demande'); $response->setStatusCode(JsonResponse::HTTP_NOT_FOUND); } else { $response->setData($this->memberFormatter->format($member)); } } catch (\Exception $e) { $response->setStatusCode(JsonResponse::HTTP_INTERNAL_SERVER_ERROR); } return $response; }
/** * Create a JSON response * @param mixed $data Data to be returned * @param int $status HTTP response code * @return \Symfony\Component\HttpFoundation\JsonResponse */ public function jsonSuccess($data = null, $status = 200) { $data = ['data' => $data]; $r = new JsonResponse($data, $status); $r->headers->set('Content-Type', 'application/json; charset=utf-8'); $r->setCharset('UTF-8'); return $r; }