使用 mongoDb 时无法生成 IRI

Unable to generate an IRI when using mongoDb

我是 API 平台框架的新手,对于我正在从事的项目,我们需要使用 mongoDb.

我按照有关如何使用 mongoDb (see here) 进行设置的说明进行操作。但是我安装了 doctrine/mongodb-odm:2.0.x.-dev 而不是 doctrine/mongodb-odm:^2.0.0@beta 以便 bin/console doctrine:mongodb:schema:create 命令可以工作...

无论如何,我根据提供的示例创建了一个非常简单的文档:

<?php
// api/src/Document/Test.php

namespace App\Document;

use ApiPlatform\Core\Annotation\ApiResource;
use Doctrine\ODM\MongoDB\Mapping\Annotations as ODM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ApiResource
 *
 * @ODM\Document
 */
class Test
{
    /**
     * @ODM\Id(strategy="INCREMENT", type="integer")
     */
    private $id;

    /**
     * @ODM\Field(type="string")
     * @Assert\NotBlank
     */
    private $name;

    public function getId(): ?int
    {
        return $this->id;
    }

    public function getName(): ?string
    {
        return $this->name;
    }

    public function setName(string $name): self
    {
        $this->name = $name;

        return $this;
    }
}

然而,我得到的回应是: "Unable to generate an IRI for the item of type \"App\Document\Test\""。但是正如您所见,ID-getter 函数在那里,这似乎是 "usual" 错误的原因。

可以找到完整的响应正文 in this pastebin

我错过了什么?

谢谢!

对 API-Platform 2.4.0-beta 的更新已解决该问题