使用mongoDb时无法生成IRI

时间:2019-02-19 08:53:55

标签: mongodb api-platform.com

我是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函数,这似乎是错误的“通常”原因。

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

我想念什么?

谢谢!

1 个答案:

答案 0 :(得分:0)

对API平台2.4.0-beta的更新已解决了该问题