实体在 swagger UI api 平台中不可见
Entity not visible in swagger UI api platform
我使用 Api 平台和 Symfony (5.4) + php 7.2.5
我自己创建了一个实体,我只是在 /src/Entity 中添加了一个文件,但它不起作用。
我刷新,我清除了缓存,我添加了@Api资源...但是实体在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;
}
}
我认为你应该删除你的实体并用 cmd 重新制作它:
php bin/console make:entity
这将在实体文件夹中生成一个 Rewiew.php 文件,其中包含 getter 和 setter 以及正确的注释示例:
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
和存储库文件等。
不要忘记使用 :
php bin/console make:migration
和:
php bin/console doctrine:migrations:migrate
用于更新您的数据库。并且不要忘记使用 apiplatform 注释。
我认为实际上由于缺少信息,捆绑包无法知道如何使用您的实体
我使用 Api 平台和 Symfony (5.4) + php 7.2.5
我自己创建了一个实体,我只是在 /src/Entity 中添加了一个文件,但它不起作用。
我刷新,我清除了缓存,我添加了@Api资源...但是实体在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;
}
}
我认为你应该删除你的实体并用 cmd 重新制作它:
php bin/console make:entity
这将在实体文件夹中生成一个 Rewiew.php 文件,其中包含 getter 和 setter 以及正确的注释示例:
/**
* @ORM\Column(type="string", length=100, nullable=true)
*/
和存储库文件等。 不要忘记使用 :
php bin/console make:migration
和:
php bin/console doctrine:migrations:migrate
用于更新您的数据库。并且不要忘记使用 apiplatform 注释。 我认为实际上由于缺少信息,捆绑包无法知道如何使用您的实体