【问题标题】:JMS Serializer / Symfony class does not existJMS 序列化器/Symfony 类不存在
【发布时间】:2020-12-08 05:18:12
【问题描述】:

我有一个具有一些 OneToOne 关系的实体:

/**
 * @OA\Property(type="integer")
 * @Serializer\Groups({"list", "detail"})
 * @Serializer\Type("File::class")
 * @ORM\OneToOne(targetEntity="File")
 */
private ?File $cv = null;

这里是文件实体:

/**
 * @OA\Schema()
 * @ORM\Entity(repositoryClass=FileRepository::class)
 */
class File
{

    /**
     * @OA\Property(type="integer")
     * @Serializer\Groups({"list", "detail"})
     * @Serializer\Type("integer")
     * @ORM\Id
     * @ORM\GeneratedValue
     * @ORM\Column(type="integer")
     */
    private $id;

    /**
     * @OA\Property(type="string")
     * @Serializer\Groups({"list", "detail"})
     * @Serializer\Type("string")
     * @ORM\Column(type="string", length=255, nullable=false)
     */
    private $filename;

    /**
     * @OA\Property(type="string")
     * @Serializer\Groups({"list", "detail"})
     * @Serializer\Type("string")
     * @ORM\Column(type="guid", nullable=false)
     */
    private $uuid;

    /**
     * @OA\Property(type="string")
     * @Serializer\Groups({"list", "detail"})
     * @Serializer\Type("string")
     * @ORM\Column(type="string", length=255, nullable=false)
     */
    private $contentType;

    /**
     * @OA\Property(type="string", format="date-time")
     * @Serializer\Groups({"list", "detail"})
     * @Serializer\Type("string")
     * @ORM\Column(type="date", length=255, nullable=false)
     */
    private $creationDate;

当我尝试使用 JMS 序列化我的第一个实体时,使用 OneToOne 关系:

        $data = $this->serializer->serialize($candidate, 'json', SerializationContext::create()->setGroups(array('detail'))->setSerializeNull(true));

总是报错:类文件不存在

显然,我的@Type 注释是错误的,但为什么呢?我该怎么办。

【问题讨论】:

    标签: symfony jmsserializerbundle


    【解决方案1】:

    尝试改变这个:
    @Serializer\Type("File::class")

    对此(无引号):
    @Serializer\Type(File::class)

    我怀疑它可能正在寻找文字字符串 "File::class" 而不是解析类名。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-02
      • 1970-01-01
      • 2017-05-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多