我使用Api平台和Symfony(5.4)+ php 7.2.5
我自己创建了一个实体,我只是在/src/Entity中添加了一个文件,它不工作。
我刷新、清除缓存、添加@ApiResource......但实体在API平台的文档页面中不可见。
您知道错误在哪里吗?谢谢!
下面是我为新实体使用的代码:
// api/src/Entity/Review.php
namespace App\Entity;
use ApiPlatform\Core\Annotation\ApiResource;
/** A review of a book. */
/**
* @ApiResource()
*/
class Review
{
/** The id of this review. */
private ?int $id = null;
/** The rating of this review (between 0 and 5). */
public int $rating = 0;
/** The body of the review. */
public string $body = '';
/** The author of the review. */
public string $author = '';
/** The date of publication of this review.*/
public ?\DateTimeInterface $publicationDate = null;
/** The book this review is about. */
public ?Book $book = null;
public function getId(): ?int
{
return $this->id;
}
}
2条答案
按热度按时间khbbv19g1#
试着替换这个
use ApiPlatform\Core\Annotation\ApiResource;
用这个
use ApiPlatform\Metadata\ApiResource;
bnlyeluc2#
我认为您应该删除您的实体,并使用cmd重新创建它:
这将在Entity文件夹中创建一个带有getter和setter以及正确注解的Review.php文件示例:
和存储库文件等。不要忘记用途:
php bin/控制台make:迁移
以及:
php bin/控制台原则:迁移:迁移
更新你的数据库。不要忘了使用apipplatform注解。我认为实际上包不能知道如何使用你的实体,因为缺少信息