/** * @param $cart * @param ApiResponse $response * @return \RestApiBundle\Entity\Cart */ public function add($cart, ApiResponse $response) { $cart = $this->em->getRepository('RestApiBundle:Cart')->add($cart); $response->setStatusCode(Response::HTTP_OK); $response->setId($cart->getItemId()); $response->addHeader('Location', '/path_to_cart/' . $cart->getItemId()); return $cart; }
/** * @param Item $item * @param ApiResponse $response * @return Item|null */ public function saveItem(Item $item, ApiResponse $response) { if (null === $item->getId()) { $item = $this->em->getRepository('RestApiBundle:Item')->add($item); $response->setStatusCode(Response::HTTP_CREATED); } else { $item = $this->em->getRepository('RestApiBundle:Item')->update($item); $response->setStatusCode(Response::HTTP_OK); } $response->setId($item->getId()); return $item; }