symfony 实体在swagger UI api平台中不可见

qni6mghb  于 2022-11-16  发布在  其他
关注(0)|答案(2)|浏览(166)

我使用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;
    }
}
khbbv19g

khbbv19g1#

试着替换这个

  • use ApiPlatform\Core\Annotation\ApiResource;

用这个

  • use ApiPlatform\Metadata\ApiResource;
bnlyeluc

bnlyeluc2#

我认为您应该删除您的实体,并使用cmd重新创建它:

php bin/console make:entity

这将在Entity文件夹中创建一个带有getter和setter以及正确注解的Review.php文件示例:

/**
 * @ORM\Column(type="string", length=100, nullable=true)
 */

和存储库文件等。不要忘记用途:
php bin/控制台make:迁移
以及:
php bin/控制台原则:迁移:迁移
更新你的数据库。不要忘了使用apipplatform注解。我认为实际上包不能知道如何使用你的实体,因为缺少信息

相关问题