From 00d0a0858bab30a6aa89160d8caa0495d392deb2 Mon Sep 17 00:00:00 2001 From: Daniel Date: Thu, 13 Mar 2025 15:20:58 +0200 Subject: [PATCH] wip media object post normalizing --- httpdocs/src/Controller/CreateMediaObjectAction.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/httpdocs/src/Controller/CreateMediaObjectAction.php b/httpdocs/src/Controller/CreateMediaObjectAction.php index 05d9fa2..ca42e36 100644 --- a/httpdocs/src/Controller/CreateMediaObjectAction.php +++ b/httpdocs/src/Controller/CreateMediaObjectAction.php @@ -13,13 +13,16 @@ use Symfony\Component\HttpFoundation\Request; use Symfony\Component\HttpKernel\Attribute\AsController; use Symfony\Component\HttpKernel\Exception\BadRequestHttpException; use Symfonycasts\MicroMapper\MicroMapperInterface; +use ApiPlatform\Core\Api\IriConverterInterface; +use Symfony\Component\Serializer\SerializerInterface; #[AsController] final class CreateMediaObjectAction extends AbstractController { public function __construct( private MicroMapperInterface $microMapper, - private EntityManagerInterface $em + private EntityManagerInterface $em, + private SerializerInterface $serializer ) { } @@ -42,6 +45,11 @@ final class CreateMediaObjectAction extends AbstractController $this->em->flush(); $mediaObjectApi = $this->microMapper->map($mediaObject, MediaObjectApi::class); - return new JsonResponse($mediaObjectApi); + + // Serialisieren Sie das Objekt mit dem API Platform Serializer + $jsonContent = $this->serializer->serialize($mediaObjectApi, 'jsonld', ['groups' => 'media_object:read']); + + // Erstellen Sie eine JsonResponse mit dem serialisierten Inhalt + return new JsonResponse($jsonContent, 200, [], true); } } \ No newline at end of file