Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

355
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda