Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

346
Views
Symfony ApiPlatform: ¿El papel como serializador/grupos en la entidad es una buena idea?

Tengo muchos roles en la aplicación, incl. super_admin, administrador, usuario, moderador, editor... Quiero usar apiPlatform y mostrar los campos apropiados en las entidades de manera adecuada para los roles, también hice clases adicionales que convierten los roles en clases. Todo funciona. Sin embargo, rompe la idea de grupos en el serializador. Por ejemplo: tengo varias entidades que están relacionadas entre sí. Cuando soy administrador y quiero descargar entidades, todas las propiedades con el grupo "admin: leer" se descargarán + todas las propiedades de las clases relacionadas también con el grupo "admin: leer", incluso si no las uso. ¿Está bien? ¿Es una buena idea usar roles en entidades? ¿Hay otra manera mejor?

Ejemplo de https://api-platform.com/docs/core/serialization/

Libro de clase

 <?php // api/src/Entity/Book.php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; use Symfony\Component\Serializer\Annotation\Groups; #[ApiResource(normalizationContext: ['groups' => ['book']])] class Book { /** * @Groups({"book"}) */ public $name; /** * @Groups({"book"}) */ public $author; // ... }

Persona de clase

 <?php // api/src/Entity/Person.php namespace App\Entity; use ApiPlatform\Core\Annotation\ApiResource; use Symfony\Component\Serializer\Annotation\Groups; #[ApiResource] class Person { /** * ... * @Groups("book") */ public $name; // ... }

y resultado

 { "@context": "/contexts/Book", "@id": "/books/62", "@type": "Book", "name": "My awesome book", "author": { "@id": "/people/59", "@type": "Person", "name": "Kévin Dunglas" } }

Entonces, si en lugar de "libro" escribe "administrador: leer", siempre serializará todo lo que tenga un grupo "administrador: leer". Creo que está obteniendo datos innecesarios. Quiero recalcar que hay muchas entidades, no como en el ejemplo de dos/varias.

over 4 years ago · Santiago Trujillo
1 answers
Answer question

0

Creo que es una buena idea agregar un rol en la serialización, pero cuando agrega un rol en la serialización, debe decorar api_platform.serializer.context_builder. Consulte esta sección https://api-platform.com/docs/core/serialization/# Changing -el-contexto-de-serialización-dinámicamente

over 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!