/** * Builds a response * * @param array $content * @param int $status * @param array $headers * * @return \Symfony\Component\HttpFoundation\Response */ protected function buildResponse($content, $status, $headers) { $encodedContent = $this->serializer->serialize($content, 'json'); $jsonResponse = new Response($encodedContent, $status, $headers); $jsonResponse->headers->set('Content-Type', 'application/json'); return $jsonResponse; }
/** * @param \Staffim\DTOBundle\Model\ModelInterface $model * @param string $patchOperations * @return string * @throws \Rs\Json\Patch\FailedTestException */ protected function applyPatch(ModelInterface $model, $patchOperations) { try { $document = $this->serializer->serialize($this->mapper->map($model), 'json', $this->serializationContext); $patch = new Patch($document, $patchOperations); return $patch->apply(); } catch (Patch\FailedTestException $exception) { throw new Exception($exception->getMessage(), 417, $exception); } catch (Patch\Exception $exception) { throw new Exception($exception->getMessage(), 400, $exception); } }
/** * @param \Staffim\DTOBundle\Model\ModelInterface $model * @param string $patchOperations * @return string * @throws \Rs\Json\Patch\FailedTestException */ protected function applyPatch(ModelInterface $model, $patchOperations) { $document = $this->serializer->serialize($this->mapper->map($model), 'json', $this->serializationContext); $patch = new Patch($document, $patchOperations); return $patch->apply(); }